suspend a process


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting suspend a process
# 1  
Old 05-29-2005
Question suspend a process

Hello,

Two child processes work at the same time because they communicate one another. In KSH, does it exist a good way to suspend a parent process until one of the two child processes stops. It seems that the command 'wait' works well for one process but for two processes, it suspends the parent process until all the background child processes stop.
If a command or a C-code could return a status as well, that will be more better.


thanks

Last edited by piou78; 05-29-2005 at 03:57 PM..
# 2  
Old 05-31-2005
You can use pipes for this

So you have two child processes and one parent process.

Create a pipe and have a "write to pipe" in each of the child processes
as the last statement in the child process.

and you have only one "read from pipe" in the parent process. so whichever child completes first, it will write to the pipe and the parent process will finish the read immediately.
# 3  
Old 06-01-2005
How about using signal?
Would it be convenient that both child processes send a SIGUSR1 to the parent before end and that the parent has a sig handler which terminates itself?
Tom
# 4  
Old 06-01-2005
#!/bin/ksh

start_first_child.sh &
start_second_child.sh &

while [ $(jobs | wc -l) -gt 0 ] ; do
sleep 1
done

exit 0

Hope this helps

bakunin
# 5  
Old 06-01-2005
Quote:
Originally Posted by ramkumar_gr
So you have two child processes and one parent process.

Create a pipe and have a "write to pipe" in each of the child processes
as the last statement in the child process.

and you have only one "read from pipe" in the parent process. so whichever child completes first, it will write to the pipe and the parent process will finish the read immediately.

Thanks for the reply but I don't undertand what you mean by "write to pipe" or "read from pipe". Could you give me a practical example, please?

Thanks
# 6  
Old 06-01-2005
Quote:
Originally Posted by bakunin
#!/bin/ksh

start_first_child.sh &
start_second_child.sh &

while [ $(jobs | wc -l) -gt 0 ] ; do
sleep 1
done

exit 0

Hope this helps

bakunin
Thanks for the reply. Do you know a good way to get the status of the stopped child process. In case of error, the other child process could become a zombi process (consequently, I'll do a 'kill -9' on it). Notice that I won't do it if the stopping is normal.
# 7  
Old 06-01-2005
Quote:
Originally Posted by ramkumar_gr
So you have two child processes and one parent process.

Create a pipe and have a "write to pipe" in each of the child processes
as the last statement in the child process.

and you have only one "read from pipe" in the parent process. so whichever child completes first, it will write to the pipe and the parent process will finish the read immediately.
Thanks for the reply. Could you give me a practical example, please?. Could I get the status of the stopped child process with this method?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Hibernate and Suspend

I have a C++ program which ends up getting run on every conceivable distro. What I can't do in C++, I can do by shelling out to the O/S. I am trying to find a portable way to send the system into hibernate and suspend modes. For users who have pm-utils, of course, I can use that, but I am trying... (4 Replies)
Discussion started by: BrandonShw
4 Replies

2. Solaris

Solaris 10 Suspend System

One of our Solaris 10 Guru's created a Solaris 10 image and he disabled the Suspend System option. How do I enable it again? example right click on the desktop the go to the bottom Suspend System in grayed out. Any help would be great. ---------- Post updated at 09:02 PM ----------... (1 Reply)
Discussion started by: deaconf19
1 Replies

3. Shell Programming and Scripting

temporarily suspend crontab

Issues: Cron jobs are running everyday at 8PM to hot backup database, archivelog, and some other files. Sometimes crontab scheduled backups need to be suspended for some other tasks randomly but doesn't happen all the time. Objective: I need to create simple script or command ( example :... (7 Replies)
Discussion started by: Paul.S
7 Replies

4. Shell Programming and Scripting

Suspend of crontab temprorarily

Hello Friends, I would like to find out if there is a way to suspend crontab script? I need to suspend the scheduling of crontab scripts in case of an alarm and when alarm ends need to start them again automaticaly, could you suggest me a method? one of participiant of the forum with name... (6 Replies)
Discussion started by: EAGL€
6 Replies

5. Shell Programming and Scripting

How to suspend a user account?

Hi, guys. I have two questions: I need to write a script, which can show all the non-suspended users on system, and suspend the selected user account. There are two things I am not sure: 1. How can I suspend user's account? What I think is: add a string to the encrypted password in shadow... (2 Replies)
Discussion started by: daikeyang
2 Replies

6. Solaris

Suspend in opensolaris

How does one enable the suspend to hard drive or ram and sleep features on a desktiop running Open Solaris? (2 Replies)
Discussion started by: FloridaBSD
2 Replies

7. Shell Programming and Scripting

Suspend Cron job temprory

Hi Is there any way to suspend cron job without ommitting crontab entries?? I have a no of entries in crontab, which runs daily.......... what if I want to suspend all process in cron one day . Is there any one line command for it ?? Please suggest Rergards Pankaj (4 Replies)
Discussion started by: pankajkrmishra
4 Replies

8. Shell Programming and Scripting

suspend/restart a process in shell script

Hi, I have a task that Im stuck on. I have an elementary script named 'myscript' that prints "the script is running" once a second. It runs for 27 seconds. I need to write a 2nd script that starts 'myscript' and takes a parameter '$1' for a number. my 2nd script then needs to pause myscript... (1 Reply)
Discussion started by: daneensign
1 Replies

9. UNIX for Advanced & Expert Users

Suspend to write file

We have a common directory , everyone can put file to it , but I found that there is a problem if the user continouosly write files to this directory while the another application is running at the same time , so I want temporaily "protect" the directory , no files can be write to it at a specific... (3 Replies)
Discussion started by: ust
3 Replies

10. UNIX for Dummies Questions & Answers

UNIX Process Suspend

Hi, I have this doubt.... When some program is running and if we press CTRL+Z...it is suspended... what should we do to continue its execution I know that KILL can be used to completely terminate the process....but is there any way to continue... Thanks (3 Replies)
Discussion started by: proton
3 Replies
Login or Register to Ask a Question

Featured Tech Videos