2015-04-22 1 views
0

Я запускаю два уровня xterms. На первом уровне я запускаю «xterm -e bsub -Ip master.tcl». Сценарий master.tcl вызывает еще один xterm с «xterm -e bsub -Ip slave.tcl».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 (PID) - это место для начала. Он будет найден в столбце PPID (родительский идентификатор процесса) по меньшей мере в одном другом месте. В свою очередь, этот процесс PID может использоваться в последующих дочерних процессах.

Системы BSD используют другой набор параметров (например, FreeBSD), но в целом вы можете получить необходимую информацию от ps.

 Смежные вопросы

  • Нет связанных вопросов^_^