Для этого я бы написал функцию:
s() {
ssh "really-really-long-hostname$1"
}
Затем назовите его так:
s 10037
Дополнительная литература:
pkill -f 'PATTERN'
Убьет все процессы, которым соответствует шаблон PATTERN
. С параметром -f
будет учитываться вся командная строка (т.е. включая аргументы). Без опции -f
будет учитываться только имя команды.
См. Также man pkill
в вашей системе.
ps -eaf | grep -i applicationname| grep -iv 'grep'| awk '{print "kill -9" " " $2}'|sh
Проблема в том, что ps -A | grep <имя_приложения> | xargs -n1
возвращает такой вывод
19440
?
00:00:11
<application_name>
21630
?
00:00:00
<application_name>
22694
?
00:00:00
<application_name>
. Вы можете использовать awk
, чтобы получить сначала столбец ps
output .
ps -A | grep <application_name> | awk '{print $1}' | xargs -n1
Вернет список PID
19440
21630
22694
И добавив kill -9 $ 1
, вы получите команду, которая убивает все PID
ps -A | grep <application_name> | awk '{print $1}' | xargs kill -9 $1
pkill
отправляет SIGTERM
по умолчанию, и в моем случае pkill -f <some_pattern>
не убивал мои процессы. Я рекомендую приведенную ниже команду для таких случаев, которая отлично сработала для меня!
kill -9 $(pgrep -f somepattern)
Я также рекомендую посмотреть, какие процессы совпадают, прежде чем запускать команду kill
pgrep -af somepattern