Sponsored Content
Top Forums Programming Howto spawn multiple child processes and wait? Post 86607 by siegfried on Sunday 16th of October 2005 12:55:46 PM
Old 10-16-2005
Howto spawn multiple child processes and wait?

As far as I can tell, the bash wait command waits for a logical "AND" of all the child processes.

Assuming I am coding in C:

(1) What is the function I would use to create multiple bash child process running perl?

(2) What is the function I would use to reinvent the bash wait command so I could wait for a logical "OR" so my parent wakes up when the first child process dies?

Thanks,
Siegfried
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

how to make a parent wait on a child shells running in background?

Hi I have a shell script A which calls another 10 shell scripts which run in background. How do i make the parent script wait for the child scripts complete, or in other words, i must be able to do a grep of parent script to find out if the child scripts are still running. My Code: ... (1 Reply)
Discussion started by: albertashish
1 Replies

2. Programming

Program to spawn multiple processes

I'm trying to make a program that will spawn multiple child processes then exit. I'm having trouble figuring out how to do this since after I fork, the child process begins running the program again (never ending). int main(void){ for(int i = 0; i < 3; i++){ fork(); }... (1 Reply)
Discussion started by: cagney58
1 Replies

3. UNIX for Dummies Questions & Answers

Bash: Regulating the number of processes a script can spawn

I've been working on some scripts in which I spawn some background processes. I'd like to be able to limit the number of processes, but have my script spawn additional processes as previous tasks finish. So, let's say I have 20 tasks to complete. Any given task could take from 1 to 10 minutes. ... (7 Replies)
Discussion started by: treesloth
7 Replies

4. Shell Programming and Scripting

Make cron wait for the child process

I am trying to find a list of files and writing it to a text file. Based on the machine performance the file writing will be slow at certain time. The code to find file and redirecting the output to text file is on a shell script /usr/bin/find $SEARCH_DIR -daystart \( \( -name 'KI*' -a... (4 Replies)
Discussion started by: nuthalapati
4 Replies

5. Programming

Parent,child wait,signal

Hello. I want to make a child do some stuff,wait,then the parent does some stuff and then child does some stuff and waits again.I have made the following but it does not work.Can anybody help me? pid1 = fork(); if (pid1 == -1) { perror("Can't create child\n"); ... (18 Replies)
Discussion started by: Cuervo
18 Replies

6. Shell Programming and Scripting

SPAWN Multiple Processes in Unix

Hi, I have three files in my IN directory.Each file should be copied 25 times using for loop.Each file processing should run in parallel?How to spawn multiple processes in unix?Any help would be appreciated. Thanks, Liyakath (7 Replies)
Discussion started by: liyakathali
7 Replies

7. Shell Programming and Scripting

Wait for one processes to complete in a shell script

Let's say I start process A.sh, then start process B.sh. I call both of them in my C.sh How can I make sure that B starts its execution only after A.sh finishes. I have to do this in loop.Execution time of A.sh may vary everytime. It is a parameterized script. (17 Replies)
Discussion started by: rafa_fed2
17 Replies

8. UNIX for Dummies Questions & Answers

How to wait for a grand child to finish?

Hello all, I have a very basic question. I have a requirement where in, I have a main process which forks a child process, which execs and runs a c executable corresponding to a daemon. In the c executable corresponding to a daemon, as everyone does, I fork another child process, and as part of... (7 Replies)
Discussion started by: sai2krishna
7 Replies

9. Shell Programming and Scripting

How make parent to wait from child process?

Hi all, I am starting mgen5 for sometime depends on input from a file, in a child process. now I want to make parent to wait in this child process till mgen5 finishes, or timeout happens. could anyone please tell me how to make parent to wait in child process in shell script? thanks... (2 Replies)
Discussion started by: girijajoshi
2 Replies

10. UNIX for Beginners Questions & Answers

Wait till any one child process finishes

Hi I am facing a problem in my ksh. My main script is calling 3 different child process in the background. I am using wait to finish all and then submit another 3 child processes. Now what i want is , whenever any one child process finishes ,i want to submit next one.so that parallel 3... (2 Replies)
Discussion started by: Sangu
2 Replies
waitid(2)							System Calls Manual							 waitid(2)

NAME
waitid - Wait for child process to change state SYNOPSIS
#include <sys/wait.h> int waitid( idtype_t idtype, id_t id, siginfo_t *infop, int options ); STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: waitid(): XPG4-UNIX Refer to the standards(5) reference page for more information about industry standards and associated tags. PARAMETERS
Identifies the type of process to be affected. Used with the id parameter, it suspends execution for the specified child process. Speci- fies either the process ID or process group ID of the child process. Used with the idtype parameter, it suspends execution for the speci- fied process. Specifies a pointer to a siginfo_t structure. Specifies the conditions that must occur before a wait operation is performed by the waitid() function. DESCRIPTION
The waitid() function holds a calling process until the state of a child process changes. The current state of the child is recorded in a structure pointed to by the infop parameter. If a child process changed state prior to the call to the waitid() function, the waitid() function returns immediately. The idtype and id parameters determine which child process the waitid() function is to act upon. If the idtype parameter is P_PID, the waitid() function waits for the child with a process ID equal to (pid_t)id. If the idtype parameter is P_PGID, the waitid() function waits for any child with a process group ID equal to (pid_t)id. If the idtype parameter is P_ALL, the waitid function waits for any child and the id parameter is ignored. The options parameter specifies the conditions that must occur before a wait operation is performed by the waitid() function. To specify a condition, use at least one of the following flags in a logical OR operation: Return the status for any child that was stopped and has been continued. Wait for processes to exit. Return immediately if no child processes in the requested state are present. Keep the child process whose status is returned in infop in a waitable state. Another wait for that child may occur with the same results. Wait for and return the process status of any child that has stopped upon receipt of a signal. [Tru64 UNIX] Wait for traced processes to become trapped or reach a breakpoint (see ptrace(2)). The infop parameter must point to a siginfo_t structure as defined in siginfo(5). This structure contains the status explaining why a process is in a wait state. The waitid() function returns if a child process is found that satisfies the conditions defined by the idtype and options parameters. In this case, the system fills in the structure pointed to by the infop parameter with the process status. The system always sets the si_signo structure member to SIGCHLD. RETURN VALUE
If the waitid() function returns because the state of a child process changes, it returns a value of zero (0). Otherwise, a value of -1 is returned and errno is set to indicate the error. ERRORS
The waitid() function sets errno to the specified values for the following conditions: The calling process has no unwaited-for child pro- cesses. [Tru64 UNIX] The infop parameter points to an invalid address. The waitid() function was interrupted due to the receipt of a signal by the calling process. An invalid value was used with the options parameter, or the idtype and id parameters specify an invalid set of processes. SEE ALSO
Functions: intro(2), exec(2), exit(2), fork(2), pause(3), ptrace(2), sigaction(2), signal(2), wait(2) Routines: pause(3) Files: siginfo(5) Standards: standards(5) waitid(2)
All times are GMT -4. The time now is 02:38 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy