Вопрос или проблема
Я использую LINUX MINT в школе, и у меня было задание создать процесс с помощью while true; do echo "Process"; sleep 5; done
, а затем посмотреть, можно ли его завершить с помощью kill -19 <PID>
. Я искал PID с помощью ps -ef и нашел его. Я выполнил команду, и она перешла на новую строку, после чего я не мог ничего сделать в командной строке, даже нажав ctrl-C. Есть предложения?
Я пытался проверить, является ли это зомби-процессом, но, похоже, нет. Также проверял с помощью команды “top” для PID и пробовал PPID, но ничего не помогает.
Ответ или решение
Команда kill -19 PID
в Linux используется для отправки сигнала SIGSTOP процессу с идентификатором PID. Сигнал SIGSTOP останавливает выполнение процесса, но не убивает его. Процесс, остановленный с помощью SIGSTOP, можно возобновить с помощью сигнала SIGCONT. Возможно, именно поэтому вам показалось, что команда не сработала.
Если вы выполнили команду kill -19 <PID>
, и не заметили никаких изменений, это нормально. Процесс будет остановлен, и вы не сможете взаимодействовать с ним до тех пор, пока не отправите сигнал SIGCONT для возобновления его выполнения.
Как проверить состояние процесса:
-
Используйте команду
ps
:ps -ef | grep <PID>
Это должно показать вам состояние процесса. Если он находится в состоянии "T", это означает, что процесс остановлен.
-
Возобновление процесса:
Чтобы возобновить выполнение остановленного процесса, выполните следующую команду:kill -18 <PID>
Сигнал
SIGCONT
(18) возобновит выполнение процесса.
Как правильно завершить процесс:
Если ваша цель заключалась в том, чтобы завершить процесс, воспользуйтесь другим сигналом. Например, используйте:
-
SIGTERM (15) для завершения процесса:
kill -15 <PID>
-
SIGKILL (9) для принудительного завершения процесса:
kill -9 <PID>
Резюме:
- Команда
kill -19 <PID>
просто останавливает процесс и не убивает его. - Чтобы возобновить процесс, используй
kill -18 <PID>
. - Для завершения процесса используйте
kill -15 <PID>
илиkill -9 <PID>
.
Если возникли дополнительные вопросы или проблемы, не стесняйтесь обращаться за помощью.