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
writesrv(8)						      System Manager's Manual						       writesrv(8)

NAME
writesrv - Lets users send messages to and receive messages from a remote system. SYNOPSIS
/usr/sbin/writesrv DESCRIPTION
The writesrv daemon allows users to send messages to users on a remote system, and to receive responses from users on a remote system with the write command. The writesrv command receives incoming requests from a write command and creates a server process to handle the request. This server process communicates with the client process (write) and provides whatever services are requested. To perform these services, the writesrv daemon creates a socket on the port defined in the /etc/services file. All requests for service go as messages to this socket. STARTING AND STOPPING writesrv. You can cause the writesrv daemon to be started during system boot with /sbin/init.d/write. The writesrv daemon starts automatically if the WRITESRV variable is defined properly in /etc/re.config. To start writesrv automatically during system boot, do the following as superuser. rcmgr set WRITESRV yes To prevent writesrv from starting automatically during system boot, do the following as superuser: rcmgr set WRITESRV no By default, writesrv is not set and therefore /usr/sbin/writesrv does not run. You can start the writesrv daemon manually as follows: /sbin/init.d/write start You can stop writesrv manually as follows: /sbin/init.d/write stop NOTES
If the writesrv daemon terminates abnormally (that is, for a system crash, a power failure, or the kill -9 command), someone must manually clean out the /usr/spool/writesrv directory to remove any files left behind. RELATED INFORMATION
Commands: write(1) Files: services(4) delim off writesrv(8)
All times are GMT -4. The time now is 06:55 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy