09-23-2008
SIGCHLD trace problem
Hello,
I'd like to know whether it is possible to let the parent know who kills its child process. The case is likely as below:
if there are four processes, we call them A, B, C and D. B is the child of A, and can be killed by both C and D. if B is killed, then A will receive SIGCHLD from B. But how to let A know who kills B? C or D ?
Thanks in advance !
10 More Discussions You Might Find Interesting
1. Programming
Hello everybody, this is my first post on this forum. I have a program that has a child process that sleeps for 5 second and exit. I'm suppose to modify this program so that when the child exits, the parent reports the exit status of the child, so I also have to deal with SIGINT and SIGQUIT. Can... (1 Reply)
Discussion started by: Unlimited Sky
1 Replies
2. UNIX for Advanced & Expert Users
I want to catch SIGCHLD signal in parent process. I can't use wait() system call to catch SIGCHLD according to project requirment.
Operating system linux 3.1
can any one have a solution for this.
Thanking you,
ranjan (2 Replies)
Discussion started by: ranjan
2 Replies
3. Programming
Hi,
I have an c++ application which uses the function fork and execvp().
The parent does not wait until the child ends. The parents just creates children and let them do their stuff.
You can see the parent program as a batch-manager.
I have added a SIGCHLD handler to the program:
void... (3 Replies)
Discussion started by: jens
3 Replies
4. Programming
Hi,
I have 2 processes X and Y. Y is exec() from X. In Y i have an exit handler, which is called when i return from main. With in exit handler i delete and object which in turn calls the destructor of the object, which terminates all the threads of Y.
I believe that SIGCHLD is raised by Y as... (4 Replies)
Discussion started by: supersumanth
4 Replies
5. Programming
Hi,
I have small problem.
In my (concurrent)server programm,
I am handling accept problem from client like this.
sample of server code.
/*******************/
end = 0;
while (! end )
{
sockfd = accept(...)
if(sockfd == -1)
{
if (errno == EINTR) /* this is bcoz... (5 Replies)
Discussion started by: stevenjagan
5 Replies
6. UNIX for Dummies Questions & Answers
When the SIGCHLD is sent?
SIGCHLD is sent either a child exits spontaneously (e.g. exit(0)) or it is killed ?
thank you in advance (3 Replies)
Discussion started by: Puntino
3 Replies
7. UNIX for Dummies Questions & Answers
I want to know whicj process send the signal SIGCHLD to the parent's child.
Thank you in advance, (1 Reply)
Discussion started by: Puntino
1 Replies
8. Solaris
Hi
I would like to display only error messages from my log files while monotring application on my solaris box using tail command.
Is there other way we can monitor please let me know?
In general # tail -f "xyz.log' ---> this will display current activity of the logs, instead i would like... (4 Replies)
Discussion started by: gkrishnag
4 Replies
9. Programming
Hi. I have a program whose job it is to manage 15 child processes. Sometimes these children die (sometimes deliberately other times with a SEGV). This causes a SIGCHLD to be sent to my program which uses waitpid() in the signal handler to gather information and, in most cases, restart the child.... (3 Replies)
Discussion started by: jrichemont
3 Replies
10. UNIX for Dummies Questions & Answers
I'm testing out how to use SIGCHLD and I had a question about intercepting the signal and executing an action in the signal handler.
signal(SIGCHLD,countdown);
What I'm trying to achieve is be able to printf(Hello) every second that child is set to sleep.
I'm setting sleep = 3;
so... (1 Reply)
Discussion started by: l flipboi l
1 Replies
LEARN ABOUT REDHAT
killall
KILLALL(1) User Commands KILLALL(1)
NAME
killall - kill processes by name
SYNOPSIS
killall [-e,--exact] [-g,--process-group] [-i,--interactive] [-q,--quiet] [-v,--verbose] [-w,--wait] [-V,--version] [-S,--sid] [-c,--con-
text] [-s,--signal signal] [--] name ...
killall -l
killall -V,--version
DESCRIPTION
killall sends a signal to all processes running any of the specified commands. If no signal name is specified, SIGTERM is sent.
Signals can be specified either by name (e.g. -HUP) or by number (e.g. -1).
If the command name contains a slash (/), processes executing that particular file will be selected for killing, independent of their name.
killall returns a zero return code if at least one process has been killed for each ilisted command. killall returns zero otherwise.
A killall process never kills itself (but may kill other killall processes).
OPTIONS
-e, --exact
Require an exact match for very long names. If a command name is longer than 15 characters, the full name may be unavailable (i.e.
it is swapped out). In this case, killall will kill everything that matches within the first 15 characters. With -e, such entries
are skipped. killall prints a message for each skipped entry if -v is specified in addition to -e,
-g, --process-group
Kill the process group to which the process belongs. The kill signal is only sent once per group, even if multiple processes belong-
ing to the same process group were found.
-i, --interactive
Interactively ask for confirmation before killing.
-l, --list
List all known signal names.
-q, --quiet
Do not complain if no processes were killed.
-v, --verbose
Report if the signal was successfully sent.
-V, --version
Display version information.
-w, --wait
Wait for all killed processes to die. killall checks once per second if any of the killed processes still exist and only returns if
none are left. Note that killall may wait forever if the signal was ignored, had no effect, or if the process stays in zombie
state.
-S (Flask only) Specify SID: kill only processes with given SID. Mutually exclusive with -c argument. Must precede other arguments on
command line.
-c (Flask only) Specify security context: kill only processes with given security context. Mutually exclusive with -s. Must precede
other arguments on the command line.
FILES
/proc location of the proc file system
KNOWN BUGS
Killing by file only works for executables that are kept open during execution, i.e. impure executables can't be killed this way.
Be warned that typing killall name may not have the desired effect on non-Linux systems, especially when done by a privileged user.
killall -w doesn't detect if a process disappears and is replaced by a new process with the same PID between scans.
AUTHORS
Werner Almesberger <Werner.Almesberger@epfl.ch> wrote the original version of psmisc. Since version 20 Craig Small <csmall@small.drop-
bear.id.au> can be blamed.
SEE ALSO
kill(1), fuser(1), pgrep(1), pidof(1), ps(1), kill(2)
Linux March 25, 2001 KILLALL(1)