[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Monit: 'Matching' functionality isn't working

From: Marie Mcallister
Subject: Re: Monit: 'Matching' functionality isn't working
Date: Wed, 24 Jun 2015 13:33:12 -0700

​Hi Martin,

​The problem is with the 'Start' command. The proc match works fine, the check detects ​when the process is down.
​For example, if I just use this outside of monit, it works fine to bring back the process: ​/usr/bin/nohup /mnt1/build/seeing/build/bin/ &

​But if I put that exact line in 'start program' for the check, it fails (looking at the logs, it seems to not be reading past the whitespace break after nohup)​.

I tried formatting it as such: start program = "/bin/bash -c 'nohup /mnt1/build/seeing/build/bin/ &'" but the same thing occurs.

​I have tried using your suggestion as well: start program = "^/bin/bash -c 'nohup /mnt1/build/seeing/build/bin/ &'"

but that fails​; logs state "Warning: Program does not exist: '^/bin/bash'"

Is there a known issue with whitespace in 'start' lines, in the current iteration of monit? I found a very old thread where something similar occurred but that was supposedly patched a long time ago.

Thanks again,


The pattern based process check uses regular _expression_ - the “procmatch” calls exactly the same code to find the matching process. I’m not sure what exactly you need - if partial pattern is not sufficient, you can either use full command, or for example if you need to make sure the command starts with some absolute path, you can do it using “^” character in the pattern:

        check process xyz matching “^/mnt1/build/seeing/build/bin/classification_node”

The “start (program)” may be different then the running process pattern - if for example the start program is script, which daemonizes the started program or adds some parameters/options, etc.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]