Я иногда запускаю процессы в фоновом режиме, используя терминал. Например:
$ matlab &
Несколько часов спустя я не могу вспомнить, с какого терминала я начал использовать MATLAB, т.е. с какого терминала небезопасно закрываться.
Как я могу проверить в Терминале, чтобы увидеть, какие дочерние процессы он породил (если есть)?
Команда jobs
выведет список всех фоновых заданий, запущенных из оболочки, в которой вы ее вводите.
Вероятно, лучший способ (кроме ответа Денниса ) - это хорошо известная и широко используемая команда:
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
комбинаций, которые можно сделать. Я был вдохновлен некоторыми примерами в этой статье , и продолжаю экспериментировать с различными комбинациями.