Как выполнить команду kill `ps -ef | grep 1.sh` как SUDO SU из пакетного файла через терминал Putty, чтобы убить ВСЕ процессы, с заданным именем, а не только 1-й?

Как выполнить команду kill `ps -ef | grep 1.sh` как SUDO SU из пакетного файла через терминал Putty, чтобы убить ВСЕ процессы, с заданным именем, а не только 1-й?
Как выполнить команду kill `ps -ef | grep 1.sh` как SUDO SU из пакетного файла через терминал Putty, чтобы убить ВСЕ процессы, с заданным именем, а не только 1-й? - wildhoney @ Unsplash

Я пытаюсь использовать эту команду:

start "" putty.exe -ssh -load NameOfSessionInPutty -m "C:\Program Files\PuTTY\MYCOMMAND.txt" -t

MYCOMMAND.txt contains:

sudo su - -c "kill `ps -ef | grep 1.sh`" 

Но эта команда убивает только 1 строку (первую, которую она находит), а мне нужно найти и убить ВСЕ процессы с этим именем 1.sh.

Когда я делаю это вручную:

kill `ps -ef | grep 1.sh`

работает отлично, убивая все процессы с этим именем.

Но sudo su - -c "kill `ps -ef | grep 1.sh`" убивает только первый найденный и закрывает сессию.

Помогите, пожалуйста, кто понимает, что мне нужно изменить в коде.

Не совсем понимаю, зачем вы объединяете sudo с su. Мне кажется, что это излишество для получения корневых прав. Вместо этого вы могли бы использовать ...

sudo kill ...

или

su kill ... -

Чтобы убить все процессы с именем 1.sh, вы можете объединить pgrep (чтобы найти все PID) с kill (чтобы послать SIGTERM всем этим PID).

pgrep "1.sh" | xargs kill

Вы также можете использовать pkill, что является тем же самым, что объяснялось ранее, но объединенным в одну команду.

pkill "1.sh"

Альтернативой является killall отправка SIGTERM всем процессам с таким именем.

killall "1.sh"

NevaDev, 4 февраля 2023 г., 12:54

Похожие посты

Я испортил системные настройки конфигурации дисплея. Как сделать сброс конфигурации дисплея на заводские настройки?Инструменты и утилиты не работают, когда для рыбы используется оболочка по умолчаниюGentoo установка WiFi проблемы после перезагрузки что установить в chrootLenovo Thinkpad E15 (2nd Gen): Специальные функциональные клавиши не работают в openSUSE Leap 15.3Каково назначение символов ".*" в команде "sudo dmicode -t 17 | grep "Size.*MB"?Получение сообщения "Доступ запрещен" при перемещении папки по симлинку, указывающему на другой дискChrome включить WebGL командной строкойЕсть ли способ заставить Powershell использовать прямую косую черту вместо обратной косой черты для автозаполнения пути?PowerShell: поиск пути к файлу на верхнем уровне папки; предупредить пользователя, если он не найден, и продолжить поиск рекурсивноИсполняемый файл Windows из меню "Выполнить" одним словом (или двумя)