Sponsored Content
Full Discussion: waitpid and grandchildren
Top Forums Programming waitpid and grandchildren Post 302642877 by otheus on Friday 18th of May 2012 06:35:48 AM
Old 05-18-2012
Quote:
Once I get the final PID of the daemon in question, I detach from it with a PTRACE_DETACH and let it run unhindered.
My understanding is that once you detach a process, you no longer get signals like SIGCHLD on its behalf.

But the idea of using ptrace for this kind of thing seems novel to me.

Quote:
can I monitor a given grandchild process without becoming the init process
. DJ Bernstein's Daemontools offers a solution. You leave a file-descriptor open to the grandparent (so your monitoring program never truly detaches).
 

3 More Discussions You Might Find Interesting

1. Programming

problems with FORK() and WAITPID()

Dear All, I'm trying to write multithreading TCP Daemon which executes external program when new network connection arrives on a socket. After accept() I'm doing fork() for initiating of new child process, in which will be executed external program. After child creation I'm doing fork() again,... (3 Replies)
Discussion started by: Polkovnik
3 Replies

2. Programming

waiting for multiple childs - C - waitpid

Hi gurus, I would like to fork more children and then write their return values: so far I tried: #include <stdio.h> #include <stdlib.h> #include <errno.h> #include <unistd.h> #include <sys/types.h> #include <sys/wait.h> int main(void) { pid_t pid; int rv=0, i; ... (5 Replies)
Discussion started by: wakatana
5 Replies

3. Programming

[C]Fork and waitpid

Hi folks, I am writing a simple program to understand how fork() and waitpid works, but it doesn't seem that is working like I wanted. if(fork()==0){ //el hijo pid1=getpid(); printf("\nSoy el hijo %d",pid1); }else { //el padre if (fork()==0) { //el hijo pid2=getpid();... (2 Replies)
Discussion started by: lamachejo
2 Replies
kill.d(1m)							   USER COMMANDS							kill.d(1m)

NAME
kill.d - snoop process signals as they occur. Uses DTrace. SYNOPSIS
kill.d DESCRIPTION
kill.d is a simple DTrace program to print details of process signals as they are sent, such as the PID source and destination, signal num- ber and result. This program can be used to determine which process is sending signals to which other process. Since this uses DTrace, only users with root privileges can run this command. EXAMPLES
Default output, print process signals as they are sent. # kill.d FIELDS
FROM source PID COMMAND source command name TO destination PID SIG destination signal ("9" for a kill -9) RESULT result of signal (-1 is for failure) DOCUMENTATION
See the DTraceToolkit for further documentation under the Docs directory. The DTraceToolkit docs may include full worked examples with ver- bose descriptions explaining the output. EXIT
kill.d will run forever until Ctrl-C is hit. AUTHOR
Brendan Gregg [Sydney, Australia] SEE ALSO
dtrace(1M), truss(1) version 0.90 May 14, 2005 kill.d(1m)
All times are GMT -4. The time now is 04:56 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy