Я пытаюсь сделать что-то, что немного рискованно. Его частный скрипт, но я хочу добавить некоторую безопасность, поэтому я не случайно вношу недопустимый PID.Получить имя программы для PID, используя PHP
В настоящее время, если скрипт зависает, он заблокирует порт, который он использует, мне нужно убить PID, а затем перезапустить его. Я хочу добавить новый аргумент в этот скрипт, чтобы я мог перейти в старый PID, и скрипт будет убивать этот PID перед тем, как начать снова. Используя netstat -tulpen
, я вижу, что есть имя программы, привязанное к PID. Я хочу убедиться, что имя программы - PHP, поэтому я случайно не отключу другой процесс. Например. Проверьте, что PID 15498 был создан PHP (15498/PHP)
tcp 0 0 0.0.0.0:1067 0.0.0.0:* LISTEN 0 201425 15498/php
Я имел взгляд на файловую систему и я нашел каталог для PID, но все файлы в этом каталоге являются пустыми. /proc/15498
Как только я могу проверить, что это относительно безопасный PID, чтобы убить, я могу запустить команду, чтобы убить его.
exec("kill -SIGKILL 15498");
Вы пытались прочитать '/ proc/15498/cmdline'? – Barmar
Игнорируйте тот факт, что 'ls' говорит, что файлы имеют нулевую длину. Это не настоящие файлы, когда вы читаете их, они извлекают информацию из ядра. – Barmar
А это еще лучше, это говорит мне, что сценарий php тоже возник из-за этого. Это будет отлично. Есть ли безопасный способ проанализировать эти данные? Кажется, что оно ограничено чем-то, что появляется как «NUL», когда я смотрю его в блокноте ++. –