sudo kill: операция не разрешена через SSH

Другой вариант:

 WARNING: it is possible that due to funny characters in directory names it is possible that unintended files might be deleted.

 find ./ -type f \( -name fileA -o -name fileB \) -print | xargs rm -f

Или, если возможно, поймать эти файлы с забавными персонажами:

 NOTE: On some systems -print0 and -0 options are not available.  But this would be the preferred and safer method)

 find ./ -type f \( -name fileA -o -name fileB \) -print0 | xargs -0 rm -f
2
27.07.2016, 00:41
1 ответ

Поскольку у вас есть pgrep , весьма вероятно, что у вас также есть pkill .

Использование pgrep , а затем kill вводит теоретическое условие гонки. Использование pkill удаляет состояние гонки (из скрипта), а также позволяет избежать использования переменной для хранения PID:

ssh -t -t "$HOST_IP" pkill -f host_server1

или, если вы хотите отправить сигнал KILL :

ssh -t -t "$HOST_IP" pkill -KILL -f host_server1

Обратите внимание, что с -f , pgrep и pkill будет соответствовать шаблону всей командной строки, а не только имени процесса.

С помощью -n и -o будут затронуты самый новый или самый старый (соответственно) из процессов сопоставления. Таким образом, если вы хотите УБИТЬ новейший host_server1 и ничего больше:

ssh -t -t "$HOST_IP" pkill -KILL -n -f host_server1
3
27.01.2020, 22:04

Теги

Похожие вопросы