2015-04-22 46 views
0

我正在运行两个级别的xterms。在第一级中,我运行“xterm -e bsub -Ip master.tcl”。 master.tcl脚本使用“xterm -e bsub -Ip slave.tcl”调用另一个xterm。xterm -e在脚本执行完后不会终止

由于某种原因,当slave.tcl完成执行时,第二个xterm不会关闭。但是,第二个xterm会在从脚本完成后显示以下消息: < < JobExitInfo:Job < 128309>已成功完成。 >>

另外,在查看LSF系统时,作业没有出现,就好像它真的完成了一样。但是xterm窗口保持打开状态,而不是关闭。

任何想法为什么?

谢谢。

回答

0

除非还有东西在那里运行,否则xterm不太可能保持打开状态。

我会检查(例如使用ps -ef)来查看剩余xterm中仍在运行的进程。如果有某些东西在运行,例如等待输入,xterm只会保持打开状态。

使用ps -ef(假设这是不是一个BSD系统),你会看到一个列表,像这样一个标题:

UID  PID PPID C STIME TTY   TIME CMD 

后来在上市后,相关的信息,例如,

tom  3647 20185 0 06:17 pts/2 00:00:00 sh -c xterm -e vile 
tom  3648 3647 0 06:17 pts/2 00:00:00 xterm -e vile 
tom  3649 3648 0 06:17 pts/3 00:00:00 vile 
tom  3650 3649 0 06:17 pts/3 00:00:00 sh -c ps -ef 
tom  3651 3650 0 06:17 pts/3 00:00:00 ps -ef 

xterm的进程ID(PID)是开始的地方。它会在PPID(父母的进程ID)列中找到至少一个其他地方。反过来,该进程的PID可用于进一步的子进程。

BSD系统使用一组不同的选项(例如参见FreeBSD),但通常您可以从ps获得必要的信息。

相关问题