У меня есть скрипт nodejs, который открывает поток торрентов, который затем я использую для захвата скриншотов. В настоящее время я использую сценарий bash для этого, который не является действительно расширяемым. Я решил перенести большую часть этого на php с помощью удобной обертки FFMpeg
для php.
Проблема в том, что я не могу запустить сценарий nodejs изнутри php без блокировки. Это команда, которую я запускаю с помощью exec()
node ~/node/peerflix/app.js 'test.torrent' &> /dev/null &
Однако, что бы я ни пытался, сценарий зависает на exec. Я просто хочу отправить его на задний план. Другими словами, как я могу асинхронно выполнить сценарий nodejs и отправить его на задний план, не заботясь о выходе.
Было бы неплохо иметь возможность получить PID процесса, чтобы я мог убить его, когда закончите
Я занимался некоторыми исследованиями в ReactPHP и, возможно, это было бы решением, но я не знаю, как это сделать.
Позвольте мне предложить что-то:
Используйте навсегда для управляемой работы.
Вы можете использовать его в скрипте javascript runner как bash (моя услуга)
npm install forever -g
forever start ~/node/peerflix/app.js 'test.torrent' //in bash
Это запустит приложение app.js навсегда и может отслеживаться с помощью вечного cli