Я пытался убить процесс, используя pkill -9
Всякий раз, когда я запускаю эту команду, она ничего не выдает, и процесс тоже не убивается.
Как мне теперь действовать?
Edit:
Я был глуп, пытаясь использовать pkill
с pid. pkill
берет имя процесса, а не pid. kill
- это команда, которая принимает pid, как указано в принятом ответе.
Однако другой ответ действительно хорошо объясняет фактическую возможность того, что pkill не убивает, и очень хорошо написан.
Если я правильно помню (я никогда не использую его), pkill использует имя процесса, а не PID. чтобы использовать PID, используйте kill вместо pkill.
Есть ровно три причины, по которым kill -9 не убьет процесс. (На страницах старого руководства это помечено как «Убить с крайним предубеждением». Процесс не может избежать -9, а только отсрочить его смерть .)
Вы можете проверить процесс, например, с помощью ps -O stat -p 1234
. Изучите столбец статуса (S):
Три причины, по которым процесс не умирает сразу после -9:
Команда kill действительно что-то возвращает, хотя в случае успеха ничего не выводит . Все команды имеют возвращаемое значение. Вы можете проверить это с помощью echo $?
сразу после выполнения команды. Если возвращаемое значение равно 0, уничтожение выполнено успешно и ничего не печатается. Любое другое значение является ошибкой, и оно должно выводить ошибку; возможными ошибками могут быть: В доступе отказано (или операция не разрешена) или Нет такого процесса. В pkill есть несколько более интересных ошибок.