Если я начну процесс и задний фон в терминальном окне (скажем ping google.com &
), я могу убить его с помощью kill %1
(при условии, что это задание 1).
Однако, если я открою другое окно терминала (или вкладку), фоновый процесс не будет указан в списке jobs
и не может быть уничтожен напрямую с помощью kill
.
Можно ли убить этот процесс из другого окна терминала или вкладки?
Примечание: я использую эмулятор терминала Xfce 0.4.3 и bash (хотя, если решение существует в другой общей оболочке, но не bash, я тоже открыт для этого)
top
он не отображает все конкретные процессы, запущенные в оболочке (например, он не показываетping
). Это дает мне PID для эмулятора терминала, но это убивает эмулятор терминала, как и следовало ожидать.top -U yourusername
в терминале, он перечислит только процесс, который вы используете.Я обычно делаю что-то вроде этого:
ps aux | grep $PROCESS | grep -v grep | awk '{print $2 " " $11}'
Например, если $ PROCESS = "bash", это вывод моей текущей сессии:
Тогда я бы
kill $PID
ни за что/bin/bash
больше не хотел бегать.ps
,grep
И (необязательно)awk
полезны для охоты на ИДП кkill
.источник