Как я могу найти pid моей работы PHP в Linux?

Я создал несколько служб PHP (CLI). Чтобы получить их PID из другого процесса в лучшем виде.

Однако я не могу найти это решение оптимальным ..

-3

Решение

не grep выход ps, Вместо этого используйте pgrep, Если у вас запущен только один PHP-процесс, вы можете найти процессы по его имени следующим образом:

pgrep php;

и он вернет что-то вроде 49282,

Однако, поскольку вы заявили, что запущено несколько программ, вы можете различить их, используя pgrep --full, Например, если вы запускаете 2 команды, php foo.php а также php bar.phpи вы хотите PID запущенного процесса foo.php:

pgrep --full '^php foo\.php$'

В то время как ^ а также $ может не быть необходимым во всех случаях, они предотвращают ложноположительные совпадения. Для получения дополнительной информации о регулярных выражениях см. этот grepдокументация.

0

Другие решения

Если я не ошибаюсь, следующий код будет работать для вас.

ps aux | grep php
-1

Лучший способ — запомнить PID после создания подпроцессов. Все варианты, анализирующие полный список процессов, могут привести к неправильным результатам.

Другое решение — найти / запомнить процесс, который запустил подпроцессы и выполнить поиск дочерних процессов.

Во всяком случае, вы дали нам меньше деталей, чтобы помочь более конкретным.

-1
По вопросам рекламы [email protected]