David Sveningsson wrote: > Hi, I've written an application in c which I would like to start/stop > as a daemon in gnu/linux. > > The application has the argument "--daemon" which forks the process > and exits the parent. Then it setups a SIGQUIT signal handler to > properly cleanup and terminate. It also maintains a lockfile (with the > pid) so only one instance is allowed. > > So, to start this application I created a php site that calls > exec("/path/to/binary --daemon > /dev/null 2> /dev/null"). > > Everything is working so far, but I cannot get the application to > receive the SIGQUIT when I start using php and exec. Not even manually > using kill in the shell. It works correctly if I start manually > thought. So obviously something is catching the SIGQUIT before it gets to your daemon. You mention "a php site", so I take it you're running apache. In an apache process you then do an exec(something). I think apache is probably taking care of the SIGQUIT. > So, is this possible to do? Doesn't exec allow applications with > signal handlers? Is there some other way to terminate the application? Why do you have to kill it with an explicit signal - why not not have a way of communicating with the process that'll make it terminate when you raise a flag or send it a message or something. /Per Jessen, Zürich -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php