% sh -c 'seu one-liner' Acho que isso funciona
Eu tenho uma situação em que canalizo a saída do ffmpeg em um script PHP para algum processamento. Eu poderia ter alguns desses processos em execução a qualquer momento e eu pensei em iniciá-los e pará-los. Eu poderia usar o Supervisor.
No entanto, estou encontrando o problema em que posso iniciar um novo processo, mas não posso interrompê-lo com êxito. Estou tentando executar o seguinte comando:
ffmpeg -i http://mystream.com -v 0 -f s16le -acodec pcm_s16le - | php process.php
Para fazer o "piping" funcionar eu uso o seguinte para o command
no Supervisor:
[program:process]
command = /bin/bash -c 'exec /usr/bin/ffmpeg -i http://mystream.com -v 0 -f s16le -acodec pcm_s16le - | php /home/me/process.php'
Isso parece estar funcionando e inicia todo o processo, no entanto, quando eu paro o processo usando supervisorctl
:
stop process
Eu vejo com um ps aux
que o processo ffmpeg
ainda está em execução. O php process.php
parece ter sido morto embora.
Qual é a maneira correta de iniciar e parar um comando canalizado com o Supervisor?
% sh -c 'seu one-liner' Acho que isso funciona
Tags pipe supervisord