From: Steven Rostedt <rostedt@goodmis.org>
To: Davy Durham <pubaddr2@davyandbeth.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: disowning a process
Date: Fri, 27 May 2005 14:04:48 -0400 [thread overview]
Message-ID: <1117217088.4957.24.camel@localhost.localdomain> (raw)
In-Reply-To: <42975945.7040208@davyandbeth.com>
On Fri, 2005-05-27 at 12:30 -0500, Davy Durham wrote:
> Hi, I'm not sure if there's a posix way of doing this, but wanted to
> check if there is a way in linux.
>
> I want to have a daemon that fork/execs a new process, but don't want
> (for various reasons) the responsibility for cleaning up those process
> with the wait() function family. I'm assuming that if the init process
> became the parent of one of these forked processes, then it would clean
> them up for me (is this assumption true?). Besides the daemon process
> exiting, is there a way to disown the process on purpose so that init
> inherits it?
Try man daemon.
The way I use to do it was simply do a double fork. That is
(simplified)...
if ((pid = fork()) < 0) {
perror("fork");
} else if (!pid) {
/* child */
if ((pid = fork()) < 0) {
perror("child fork");
exit(-1);
} if (pid) {
/* child parent */
/* Here we detach from the child */
exit(0);
}
/* Now this code is a child running almost as a daemon
with init as the parent. */
setsid();
/* Now the child is completely detached from the original
parent */
/* ... daemon code here ... */
exit(0);
}
/* parent code here */
-- Steve
next prev parent reply other threads:[~2005-05-27 18:04 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-27 17:30 disowning a process Davy Durham
2005-05-27 18:04 ` Steven Rostedt [this message]
2005-05-27 18:55 ` Davy Durham
2005-05-27 19:05 ` Davy Durham
2005-05-27 19:27 ` Steven Rostedt
2005-05-27 19:07 ` Steven Rostedt
2005-05-27 20:57 ` Alan Cox
2005-05-27 23:34 ` Davy Durham
2005-05-28 1:38 ` Steven Rostedt
2005-05-28 1:48 ` Steven Rostedt
2005-05-28 23:18 ` Davy Durham
2005-05-27 18:54 ` J. Scott Kasten
2005-05-27 19:38 ` Steven Rostedt
[not found] <OFA0F07206.30BD7843-ON8525700E.00611011@teal.com>
2005-05-27 18:15 ` Davy Durham
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1117217088.4957.24.camel@localhost.localdomain \
--to=rostedt@goodmis.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pubaddr2@davyandbeth.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.