Когда я пытаюсь закрыть вкладку в терминале Gnome, он говорит:
Закрыть этот терминал? В этом терминале все еще выполняется процесс. Закрытие терминала убьет его.
Как я могу узнать, что еще работает? Обратите внимание, что в выводе jobs
ничего нет. Благодаря.
Можно взять пик при процессах, кто перечисляет PID оболочки как родителя. Как Вы можете или не можете знать, мы можем указать ps
формат
SHELLPID=$ ; ps -e -o cmd,pid,ppid | awk -v shell=$SHELLPID '$NF~shell'
Здесь, мы получаем PID оболочки от специальной переменной $
в SHELLPID
, который затем может использоваться awk в подоболочке канала. По существу мы просто перечисляем процессы на ИМЯ формы, PID, Родитель PID, и отфильтровываем только тех, у кого есть соответствующий PID в последнем столбце.
При запуске некоторого процесса в терминале (например, gedit), чем идентификатор Процесса (PID) (удара) и идентификатор Родительского процесса (PPID) (gedit) для этого, два процесса будут тем же. Это видно в выводе
ps -ef
команда. Для создания это более читаемый позволяет, сначала "передают вывод по каналу" к grep
для нахождения PID всех процессов "удара" в настоящее время рабочим и, чем "канал" это снова к 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 в последней команде. Если существует больше чем один PID для "удара", необходимо судить их всех.
последняя команда просто смотрит вывод ps -ef
и ищет, если PID (что Вы нашли от предыдущей команды) и PPID является тем же для какого-либо процесса.
человека
Можно использовать htop
. В Ubuntu 16.04 (и выше), можно установить его только путем ввода sudo apt-get install htop
.
можно также использовать top
.