Iniciando e parando processos encanados com o Supervisor

2

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?

    
por Luke 09.05.2016 / 05:18

1 resposta

1

% sh -c 'seu one-liner' Acho que isso funciona

    
por 21.01.2017 / 20:32