fork/system/child processes

jason pearl jpearl24 at cox.net
Wed Dec 3 05:40:23 UTC 2003


you probably could do a 
if program ends then
send signal stop or term
then system run program 

but i forgot if u can do another then 


OR

loop while program is runining = true then 
do nothing 
if = false then run signal term

then just put a program exec to start the program 

loop


hope this info is close to correct 
im not too far into my student programming career lol

On Tue, 2003-12-02 at 22:23, Don wrote:

> This isn't fedora-specific...
> 
> I have an application that MUST run forever.... if it crashes, dies,
> ends for any reason I want it to start again.
> 
> One exception, I want to be able to stop it with a kill term...
> 
> So, my solution is a very simple loop...
> 
> for (;1==1;) {
>     system("command-to-run");
>     #do some sort of logging to show command-to-run ended unexpectedly
> }
> 
> If my loop program gets a sig term, I want to trap that, kill the child
> process and then exit gracefully.
> 
> I can trap the signal, but how do I get the pid of the child process
> (command-to-run)
> 
> I tried:
> for (;1==1:)
>    $newpid = fork;
>    if ($newpid) {
> 	# parent...
> 	wait;
> 	#log unexpected end of command-to-run
>    } else {
> 	# child ...
>         system(command-to-run);
> 	exit;
>    }
> }
> 
> but in that case $newpid is the pid of the child that issues "system"...
> not the pid of "command-to-run". (expected... but not what I want/need.)
> 
> Any suggestions?
> 
> Thank you,
> Don
> 
> 
> 
> 
> --
> fedora-list mailing list
> fedora-list at redhat.com
> To unsubscribe: http://www.redhat.com/mailman/listinfo/fedora-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.fedoraproject.org/pipermail/users/attachments/20031202/50628ca7/attachment-0002.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.fedoraproject.org/pipermail/users/attachments/20031202/50628ca7/attachment-0002.bin 


More information about the users mailing list