On 25/04/2012 17:51, Nick Anderson wrote:
> On 04/25/2012 10:16 AM, no-re...@cfengine.com wrote:
>> Ok, now I get what you mean. Without the restart_class, the promise is 'kept'
>> even if the process isn't running. otoh, we don't really promise anything if
>> there's no restart_class.. might be the reason it's seen as kept. But this 
>> was
>> news to me. Thanks :)
> I guess it would be handy to know what the promise is.
>
> When I read it I think. "I promise to do these things if I see a process
> matching proc." With the restart_class present I think, "raise this
> class if no processes match" which I considered equivalent to   classes
> =>  if_notkept("proc_not_running");
>
> Thats probably not correct. Probably more correct to think of the entire
> thing as the promise. And then it seems like the classes attribute isn't
> a "first class citizen". So its not activated unless one of the primary
> attributes signals the promises state change. Now im confused again :)
>
> As Neil suggested, I think some additional clarification around promise
> state behavior for each promise type would be good. And perhaps someone
> can chime in here for some more clarification.
>
What I use to know if a process is running is the simple body from the 
cfengine_stdlib :

body process_count any_count(cl)
{
match_range =>  "0,0";
out_of_range_define =>  { "$(cl)" };
}



Which can be used in your example as :

"proc"
     process_count =>  any_count("proc_is_running"),
     comment =>  "Check if proc is running";


But I'm not sure it's really what you need, and I'm afraid I'm 
oversimplifying your question

Regards
Nicolas
_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to