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
