GOOGLE ADS

понедельник, 11 апреля 2022 г.

Команда kill работает, но выдает ошибку

Я использую сценарий оболочки, чтобы остановить службу Python, и для этого я выполняю приведенную ниже команду.

ps -ef | grep service.py | grep -v grep | awk '{print $2}' | xargs kill -9

После выполнения я получаю ошибку ниже:

kill: отправка сигнала на 487225 не удалась: операция не разрешена

Но когда я проверяю терминал, на котором запущен процесс, он завершается.

/home/saakhan/Documents/scripts/cluster-helpers.sh: line 75: 526839 Killed python3 src/service.py

Теперь в моем сценарии оболочки я проверяю наличие ошибки, если она есть, при остановке службы. Таким образом, он вызывает эту функцию ошибки, которая отображает «Не удалось остановить службу», даже если служба успешно остановлена.

Мне нужно изменить команду для этого?

Примечание. Я должен использовать только «убить», а не «pkill».


Решение проблемы

Как указал @Bodo, было более одного PID, и только один из них был убит, а другой показал ошибку, поскольку он не был запущен одним и тем же пользователем.

Я изменил команду grep, чтобы отфильтровать процесс, запущенный тем же пользователем, а затем уничтожил его, так что это сработало.

Обновлять:

Я использовал эту команду, чтобы успешно запустить свой код и завершить приложение по мере необходимости.

ps -u | grep service.py | grep -v grep | awk '{print $2}' | xargs kill -9

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...