Использование AWK для захвата первой линии многослойного выхода?

StackOverflow https://stackoverflow.com/questions/6312511

Вопрос

У меня есть этот вывод, который является 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 Для будущего ссылки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top