Назад | Перейти на главную страницу

Устранение необходимости использования grep только awk

Я пытаюсь создать список PID для передачи в strace. Мне нужен только PID php-fpm. Я могу получить правильный результат, используя grep с awk, но я ищу ответ только для awk. Вот что я сделал.

Это дает желаемый результат:

$ ps ajxf |grep '[p]hp-fpm: pool' |awk '{print $2}'
21547
21548
21549
21938
31131
31132
31133
31189
36283
10549
12179
12893
12964
12989
13565
14420
14421
15848
17737

Этот не сделал:

$ ps ajxf |awk '/php-fpm: pool/{if (NR!=1) {print $2}}'
22903  <--- This is the PID of the awk
21547
21548
21549
21938
31131
31132
31133
31189
36283
10549
12179
20328
20392
20393
20618
22006
22793
22794
22804

Я думаю ты найдешь пидоф намного проще в использовании.

pidof php
24293 19810 19467

Ты можешь использовать ~ чтобы соответствовать полю и ^ чтобы привязать совпадение к началу поля.

awk '$6 ~ /^something/ {print $2}'