
У меня всегда проблемы с завершением программ. Это так раздражает. Посмотрите на этот пример ниже. Я просто хочу завершить процесс nano с идентификатором 29409. Почему, когда я ввожу sudo kill 29409, это не срабатывает?
$ ps aux | grep 29409
root 29409 0.0 0.0 71248 3980 pts/1 T 00:06 0:00 sudo nano /etc/network/interfaces
computer 29565 0.0 0.0 15948 2236 pts/1 S+ 00:13 0:00 grep --color=auto 29409
pc@pc:~$ sudo kill 29409
pc@pc:~$ ps aux | grep 29409
root 29409 0.0 0.0 71248 3980 pts/1 T 00:06 0:00 sudo nano /etc/network/interfaces
решение1
Вам придется послать сигнал об уничтожении.SIGKILLсо значением 9, которое завершает процесс с заданным идентификатором процесса.
kill -9 PID
В зависимости от задания, если это фоновое задание, вам, возможно, придется завершить его с помощью kill -9 $! PID
команды.
В качестве альтернативы вы можете использовать top
команду. Запустите команду Top, которая выведет список всех ваших процессов, а затем используйте ее, k
чтобы завершить процесс.
Вы всегда можете получить помощь, используя man
страницы. Например, man kill
команда предоставит вам подробную информацию.
Удачи!
решение2
Я считаю, что использование pkill более уместно:
sudo pkill nano
Вместо идентификатора процесса вы указываете имя процесса pkill, и он попытается завершить все процессы, которые ему соответствуют. Как и в случае с командой kill
, вы можете прибегнуть к отправке сигнала SIGKILL вместо SIGTERM, если процесс отказывается завершиться корректно:
sudo pkill -9 nano