03-26-2003
You should be able to get that to work. Do you need the parent to respond immediately? If not, I would not use signals. I would have the child write a status file and once every 10 minutes the parent would see if the status file exists. If so, it would read it, delete it, and take appropriate action. This is a much wider channel of communication between the processes and it bypasses the problems that signals can cause in scripts.
When the parent launches the child, it should save the pid:
child &
pid=$!
Then to see if the child is still running, use the kill command with signal zero:
if kill -0 $pid ; then
echo child is still running
else
echo child is dead
fi
10 More Discussions You Might Find Interesting
1. Programming
does the way of handling, interrupting signals in HP-UX same as that of solaris. If there is difference than what it is.?:confused: (1 Reply)
Discussion started by: kapilv
1 Replies
2. Programming
How-to use keypress action signals in C?
Is there any nice select or poll functions for that? (1 Reply)
Discussion started by: Esaia
1 Replies
3. Programming
Hi
In my process there are few threads. Now, lets say all the threads are blocked for some reason or other..
now i read it somewhere that the kernel in this situation sends in some signal which can be caught.
please let me know what signal is it and more details about that..
Thanks in... (1 Reply)
Discussion started by: uday_kumar_spl
1 Replies
4. Shell Programming and Scripting
Wasn't really sure where to put this, since I'm using C in UNIX, but I am making my own shell... so, what's going on is this:
For our program, we had to create our own shell, and if the user pressed ctrl-c just at the cmdline, then this signal would be ignored, but if there is a foreground... (1 Reply)
Discussion started by: blind melon
1 Replies
5. UNIX for Dummies Questions & Answers
(posted this in the scripting forum as well, but figured it should go here) So, what's going on is this:
For our program, we had to create our own shell, and if the user pressed ctrl-c just at the cmdline, then this signal would be ignored, but if there is a foreground process running, let's... (0 Replies)
Discussion started by: blind melon
0 Replies
6. Programming
How can use signals in a C program If i want a child program to signal it's parent program that it(child) program has completed the task that it was assigned.:confused: (2 Replies)
Discussion started by: kapilv
2 Replies
7. UNIX for Dummies Questions & Answers
can any one give me an example of a concurrency program in threads and signals, i.e how to deliver messages between threads using signals. thanks (0 Replies)
Discussion started by: moe_7
0 Replies
8. Shell Programming and Scripting
Hi all,
I have the c program that c program has to be in sleep mode.
I want write a script the it should trap the signal from the c program.
The signals are sighup,sigkill,sigterm,sigchld and then it has to go to sleep.
If signal is sigchld it has to do to some function.
My question is how to... (3 Replies)
Discussion started by: bhas85
3 Replies
9. UNIX for Dummies Questions & Answers
I know how to add signal to a set. But what if I want to add 2 or 3 signals to the set.
I know I can use sigaddset (&set,SIGBUS)....but what if I want to add SIGBUS and SIGALRM at once. Do i have to do it like this..
sigaddset (&set,SIGBUS);
sigaddset (&set,SIGALRM);
Is there another way to... (0 Replies)
Discussion started by: joker40
0 Replies
10. UNIX for Advanced & Expert Users
Hi All,
The problem statement is as below:
Problem: A process (exe) is getting executed in background. The output of this process is getting logged in a file. After successfully running for some time the process gets terminated. In the log file following is present:
^M[7m Interrupt ^M[27m... (8 Replies)
Discussion started by: Praty.27
8 Replies
WAIT(1) BSD General Commands Manual WAIT(1)
NAME
wait -- await process completion
SYNOPSIS
wait [pid]
DESCRIPTION
If invoked with no arguments, the wait utility waits until all existing child processes in the background have terminated.
Available operands:
pid If a pid operand is specified, and it is the process ID of a background child process that still exists, the wait utility waits until
that process has completed and consumes its status information, without consuming the status information of any other process.
If a pid operand is specified that is not the process ID of a child background process that still exists, wait exits without waiting
for any processes to complete.
The wait utility exits with one of the following values:
0 The wait utility was invoked with no operands and all of the existing background child processes have terminated, or the process
specified by the pid operand exited normally with 0 as its exit status.
>0 The specified process did not exist and its exit status information was not available, or the specified process existed or its exit
status information was available, and it terminated with a non-zero exit status.
If the specified process terminated abnormally due to the receipt of a signal, the exit status information of wait contains that termination
status as well.
STANDARDS
The wait command is expected to be IEEE Std 1003.2 (``POSIX.2'') compatible.
BSD
June 5, 1993 BSD