I think I realise now what the (simple) problem is.
monit does not line '/bin/sh /root/stream-start.sh', I need to use
something else but I don't know what.


On Wed, May 7, 2014 at 11:47 AM, Anthony Griffiths <[email protected]>wrote:

> thanks for your further help on this weedy. I've succeeded in getting
> ffmpeg to create a pid file by tagging ' pidof ffmpeg >
> /var/run/stream.pid' onto the end of the ffmpeg command. I''ve also made
> sure the permissions are chmod 777 on the pid file however the monit log
> keeps showing:
> error    : 'stream' process is not running
> error    : monit: Start or stop method not defined -- process stream
>
> in monitrc I have:
> check process stream with pidfile /var/run/stream.pid
>        start = "/bin/sh /root/stream-start.sh"
> I've made sure that stream-start.sh is chmod 777 as well and the command
> /bin/sh /root/stream-start.sh in the console starts the ffmpeg process ok.
> If I start the ffmpeg process manually the monit log shows:
> info     : 'stream' process is running with pid <number>
> but when the ffmpeg process stops the monit log goes back to:
> error    : 'stream' process is not running
> error    : monit: Start or stop method not defined -- process stream
>
>
> On Wed, May 7, 2014 at 7:09 AM, Weedy <[email protected]> wrote:
>
>> On 06/05/14 06:03 PM, Anthony Griffiths wrote:
>> > I wrote a script called stream-start.sh that follows your instructions
>> > but even though ffmpeg starts fine it does not create a pid file. I
>> > created this:
>> > *long-ffmpeg-command &*
>> > *pid=$!*
>> > *echo $pid > /var/run/stream.pid*
>> cat > /root/start-stream.sh
>> #!/bin/sh
>> if [ ! -d /var/run/ ]; then mkdir -p /var/run/; fi
>> if [ -f /var/run/stream.pid ]; then rm /var/run/stream.pid; fi
>>
>> /usr/bin/ffmpeg -a -lot -of -options &
>> sleep 3 # make sure it's given enough time to start/die??
>> echo $(pidof --single-shot ffmpeg) > /var/run/stream.pid
>>
>> <hit ctrl+d after at least one blank line>
>> chmod +x /root/start-stream.sh # not really needed
>> > but this didn't work and and after trawling google and trying a few
>> > variations the script still does not create a pid file.
>> >
>> > in monitrc I have:
>> > *check process stream with pidfile /var/run/stream.pid*
>> > *       start = "/usr/bin /root/start-stream.sh"*
>> > and monit starts without any complaints
>>
>> I... what? /usr/bin is a directory. This is probably why $! failed for
>> you, your not running the file with a specific interpreter. Hard code
>> the interpreter so this never happens again.
>>
>> start = "/bin/sh /root/start-stream.sh"
>>
>> --
>> To unsubscribe:
>> https://lists.nongnu.org/mailman/listinfo/monit-general
>>
>
>
--
To unsubscribe:
https://lists.nongnu.org/mailman/listinfo/monit-general

Reply via email to