quest /tmp# cat test.c
#include <sys/types.h>
#include <stdlib.h>
#include <unistd.h>
int
main (int argc,
char *argv[])
{
pid_t pid;
pid = fork ();
if (pid > 0)
exit (0);
pid = fork ();
if (pid > 0)
exit (0);
pause ();
exit (0);
}
quest /tmp# gcc -Wall -g -O0 -o test test.c
quest /tmp# cat /etc/event.d/test
wait for daemon
exec /tmp/test
quest /tmp# start test
test (#0) goal changed from stop to start
test (#0) state changed from waiting to starting
event_new: Pending starting event
Handling starting event
event_finished: Finished starting event
test (#0) state changed from starting to pre-start
test (#0) state changed from pre-start to spawned
process_spawn: Spawned main process 6380 for test (#0)
Active test (#0) main process (6380)
test (#0) main process (6380) forked new child 6381
test (#0) main process (6381) forked new child 6382
test (#0) state changed from spawned to post-start
test (#0) state changed from post-start to running
event_new: Pending started event
Handling started event
event_finished: Finished started event
This looks intriguing, but there’s not context. What command/package is this about? Where is this ‘start’ command from?
Ok, the obvious question: how does this work?
For those who can’t guess, this is an upstart feature.
Can U give us (poor stick in the mud) a clue ?
What the heck does it do ? How?
Pingback: Scott James Remnant » Blog Archive » How to (and why) supervise forking processes
Go upstart!
This is incredibly cool!
Can upstart distinguish forks used to daemonize from forks used to execute external helpers? What would ‘start postfix’ look like?
This is A-WE-SO-ME, Scott!
Pingback: Ubuntu Index » Blog Archive » Scott James Remnant: How to (and why) supervise forking processes
Pingback: Scott James Remnant » Blog Archive » Upstart 0.5: Job Lifecycle
Hello Scott on 6th December 2007, 07:21 pm you wrote this article
I have upstart 0.3.9 here and this feature seams non existent didn’t the feature make it to the release?
That’s all great,
but how post-statr script can get PID of started process – either forked or not?