спавню процесс через Process::fromShellCommandline(), запускаю ($process->start()), запрашиваю PID ($process->getPid()), он возвращает число на единицу меньше реального PID.
Почему так происходит? как можно отладить?
есть аналогичная проблема на стэке — https://stackoverflow.com/questions/41226894/symfonys-process-pid-increments-by-1-during-execution
Ось какая?
armbian (убунта)
А зачем вам вообще пид? У вас есть объект процесса, вы можете следить за его состоянием через него. Следить за его состоянием после гибели родителя нет смысла, субпроцесс так же умрет вместе с родителем, это не полноценная асинхронность.
я запускаю ffmpeg с записью потока. пид нужен, чтобы периодически проверять, не упал ли процесс, по каким-либо причинам. возможно, даже из других приложений.
Т.е. вы этот пид куда-то пишете и из другого места читаете и следите?
да, все так. пид в базу пишу, кроном периодически дергаю скрипт, который проверяет жив ли процесс.
Обсуждают сегодня