Intereting Posts
Найти порты FreeBSD, которые зависят от другого порта Почему grep иногда показывает имя файла, иногда нет? перенаправить вывод оболочки в файл, даже когда я убиваю программу Как просмотреть все необработанное сообщение в альпийском? Путь есть, но не может вызвать одну программу без указания пути Crack zip-файл с известными частями паролей find и delete дает ложное состояние Максимальное количество открытых файлов в Linux Установка драйверов WiFi для устройства 14e4: 43a0 rev 3 для широкополосного подключения – не может найти пакет bcmwl-kernel-source Как создать виртуальный вывод в PulseAudio? SOLVED: Ошибка Useradd: useradd: невозможно заблокировать / etc / passwd; повторите попытку позже Как проверить, загружена ли взломанная версия Linux Mint 17.3 Символ перевода строки в конец вывода bash используя Find -exec, чтобы переименовать файл с выделенным содержимым файла CPU всегда при 80 ° C, пока система не работает

Как добавить бесполезную случайную строку в команду linux, чтобы идентифицировать ее через ps?

Я пишу скрипт PHP для запуска и мониторинга процессов. Раньше я использовал ps <pid> , но в редких случаях он не был надежным, так как был нерелевантный процесс, выполняемый одним и тем же pid после того, как мой процесс фактически закончился.

Поэтому я хотел добавить случайную строку в мою команду, поэтому мой PHP-скрипт может быть уверен, что это начатый процесс. Какие у меня варианты?

До сих пор я придумал это:

 "USELESS_VAR_0nQjdXR45P=\"{$cmdRandomString}\" | $cmd" 

Где $ cmd – фактическая команда, которую я хотел запустить. $ cmdRandomString – это случайная строка, которую я добавил. Но по какой-то причине в ps aux не отображается бесполезный var здесь.

Это потому, что он быстро закончил?

Я также попытался добавить параметр фиктивной команды, такой как --xxxx=yyyy но команда вернет фатальную ошибку, не зная опцию.

Есть какой-либо способ сделать это? Или есть надежный способ идентифицировать процесс, отличный от ненадежного pid?

Есть ли надежный способ идентифицировать процесс, отличный от ненадежного pid?

Способ сделать это надежно – начать процесс самостоятельно и поймать, когда он умрет, например, вы получите сигнал unix SIGCHILD. Pid будет продолжать существовать (в состоянии, которое называется «зомби»), пока вы не примете уведомление о смерти ребенка, например waitpid() .

В некоторых случаях вам нужно делегировать это демону процесса, например systemd . Например, вы можете запросить его, используя systemctl status my-process.service . Это было бы полезно, если бы у вас была веб-страница PHP, которая должна была начать длительный процесс, такой как демон.