Re: sleep between system calls




xhoster@xxxxxxxxx wrote:
> dwmyers@xxxxxxxxxxx wrote:
> > I have a task that runs as follows:
> >
> > 1) examine a daemon in memory for size usage. If it gets beyond a
> > certain size, kill it.
> > 2) wait a while
> > 3) restart the process.
> >
> > I'm trying with a bit of code like this:
> >
> > system("pkill -9 foo");
> > sleep 10;
> > system("/etc/init.d/foo start");
> >
> > Only problem is, the sleep isn't working, and the process isn't
> > restarting.
>
> That sounds like two different problems, and "isn't working" is the worst
> description ever.
>
> > I tend to think the first system call must be returning
> > signals that kill the sleep, but I'm not deep enough into the internals
> > to know.
> >
> > If you have any ideas, I'm interested.
>
> Ask perl for help. Are you using strict and warnings?
>
> system("pkill -9 foo") and die "$!";
> warn "slept for ", sleep 10;
> system("/etc/init.d/foo start") and die "$!";


Strict and Warnings are in use. Didn't receive any warnings though. I
am going to borrow this 3 line rewrite and see if it gives me more
info.

~~~ 5 minutes later ~~~

And lo and behold, found the issue. script itself was named $foo .
'_check', so it was killing $foo and itself. hence, no sleep.

Thanks,

David.

.



Relevant Pages