Как найти обработанные звонки с определенного терминала?

Я иногда запускаю процессы в фоновом режиме, используя терминал. Например:

$ matlab &

Несколько часов спустя я не могу вспомнить, с какого терминала я начал использовать MATLAB, т.е. с какого терминала небезопасно закрываться.

Как я могу проверить в Терминале, чтобы увидеть, какие дочерние процессы он породил (если есть)?

2
задан 14 November 2012 в 21:48

2 ответа

Команда jobs выведет список всех фоновых заданий, запущенных из оболочки, в которой вы ее вводите.

0
ответ дан 14 November 2012 в 21:48

Вероятно, лучший способ (кроме ответа Денниса ) - это хорошо известная и широко используемая команда:

ps -e -o pid,ppid,args --forest

Тогда вы можете быстро увидеть pid терминала, который запустил различные процессы и сами процессы:

 3494  3490  \_ gnome-pty-helper
 3495  3490  \_ bash
 3566  3495  |   \_ evince
 3578  3490  \_ bash
 3684  3578  |   \_ man ps
 3693  3684  |       \_ pager -s
 3709  3490  \_ bash
 3801  3709      \_ /usr/bin/python /usr/bin/meld
 3871  3709      \_ ps -e -o pid,ppid,args --forest

Для конкретного терминала введите ps -T в этом терминале:

 PID  SPID TTY          TIME CMD
 3709  3709 pts/3    00:00:00 bash
 3801  3801 pts/3    00:00:00 meld
 3882  3882 pts/3    00:00:00 ps

Для получения дополнительной информации о ps см. man ps или руководства Ubuntu онлайн . Есть несколько очень интересных и чрезвычайно полезных ps комбинаций, которые можно сделать. Я был вдохновлен некоторыми примерами в этой статье , и продолжаю экспериментировать с различными комбинациями.

0
ответ дан 14 November 2012 в 21:48

Другие вопросы по тегам:

Похожие вопросы: