09-23-2008
kill -9 cannot be caught by a process, it just exits. It cannot know who killed it.
And, as long as "whoever" B,C,D,...Z has the privilege to send a signal to B (it can send a signal to itself you know) kill -9 will always clobber B. So there is no "illegal" anything about sending signals.
Rather than go on about this, what are you trying to do? It sounds like you got bogged down trying to solve something else, rather than signals.
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
kill(1) General Commands Manual kill(1)
Name
kill - send a signal to a process
Syntax
kill [-sig] processid...
kill -l
Description
The command sends the TERM (terminate, 15) signal to the specified processes. If a signal name or number preceded by `-' is given as first
argument, that signal is sent instead of terminate. For further information, see
The terminate signal kills processes that do not catch the signal; `kill -9 ...' is a sure kill, as the KILL (9) signal cannot be caught.
By convention, if process number 0 is specified, all members in the process group (that is, processes resulting from the current login) are
signaled. This works only if you use and not if you use To kill a process it must either belong to you or you must be superuser.
The process number of an asynchronous process started with `&' is reported by the shell. Process numbers can also be found by using It
allows job specifiers ``%...'' so process ID's are not as often used as arguments. See for details.
Options
-l Lists signal names. The signal names are listed by `kill -l', and are as given in /usr/include/signal.h, stripped of the common SIG
prefix.
See Also
csh(1), ps(1), kill(2), sigvec(2)
kill(1)