Использование AWK для захвата первой линии многослойного выхода?
-
26-10-2019 - |
Вопрос
У меня есть этот вывод, который является PID всех процессов, соответствующих GREP для FCGI:
# ps ax | grep fcgi | cut -f1 -d' '
21065
21066
21067
21068
21069
21070
24801
Я хочу вырезать самый первый номер (т.е. 21065), чтобы я мог передать его функции убийства, чтобы убить родительский процесс (родительский процесс возвращается как первый пид).
Есть идеи, как это сделать?
Решение
Использовать:
Чтобы получить номер PID
PARENT_PID=`ps ax | grep fcgi | cut -f1 -d' ' | head -1`
Чтобы прямо убить:
kill `ps ax | grep fcgi | cut -f1 -d' ' | head -1`
Другие советы
Не используйте ps ax | grep...
Чтобы убить процесс, если вы можете избежать этого. Видеть здесь
Вместо этого используйте pidof
Нет необходимости прыгать через все обручи бега ps
, grep
, cut
, head
, а также kill
самим собой. Это то что pkill
для.
pkill fcgi
Также см pgrep
Для будущего ссылки.
Не связан с StackOverflow