Если вы запустили какой-то процесс в терминале (например, gedit), то идентификатор процесса (PID) (из bash) и идентификатор родительского процесса (PPID) (из gedit) для этих двух процессов будут одинаковыми. Это можно увидеть на выходе
ps -ef
команда. Чтобы сделать его более читабельным, давайте сначала «передадим» вывод, чтобы grepнайти PID всех запущенных в настоящее время процессов «bash», а затем снова передаем «по конвейеру» awk. В awkвыбирает только PID и имя процесса полей (поле 2 и 8) , и выводит его на экран.
ps -ef | grep bash | awk '{print $2 ": " $8}'
Число на выходе - PID. Вы будете использовать его, чтобы узнать, какой процесс был запущен в терминале с этим PID. Обратите внимание, что может быть более одной строки вывода, если у вас открыто более одного терминала. Теперь, чтобы найти «дочерние» процессы (если таковые имеются) этих терминальных сессий, мы можем использовать эту команду:
ps -ef | awk '{if ($3 == EnterPID) print $2 ": " $8;}'
Вы должны ввести номер PID вместо EnterPID в последней команде. Если для «bash» существует более одного PID, вы должны попробовать их все.
Последняя команда просто просматривает выходные данные ps -efи ищет, совпадают ли PID (который вы нашли из предыдущей команды) и PPID для любого процесса.
Больше информации:
человек пс
человек awk
screen,tmux,script,ssh,mcи перевернул панели от, или просто другой оболочки , например , набравbash, или что - то вдоль этих линий. Нажмите Ctrl + D или введите,exitчтобы выйти из вашей оболочки, вы увидите, где вы оказались.