11-14-2009
I solved the problem by handling the SIGCHLD signal and counting the child processes number.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I don't follow what these are...
this is what my text says...
"When a process is started, a duplicate of that process is created. This new process is called the child and the process that created it is called the parent. The child process then replaces the copy for the code the parent... (1 Reply)
Discussion started by: xyyz
1 Replies
2. Programming
Hello all, I am trying to create n child processes and control them from a parent process; say make child 3 print its pid and then child 5 do the same and some other stuff. Is there a way to accomplishing this after all the child processes are created via a call to fork().
Thank you,
FG (23 Replies)
Discussion started by: forumGuy
23 Replies
3. Shell Programming and Scripting
Hello.
I have a global function name func1() that I am sourcing in from script A. I call the function from script B. Is there a way to find out which script called func1() dynamically so that the func1() can report it in the event there are errors?
Thanks (2 Replies)
Discussion started by: yoi2hot4ya
2 Replies
4. Programming
Hello,
How many child processes are actually created when running this code ?
#include <signal.h>
#include <stdio.h>
int main () {
int i ;
setpgrp () ;
for (i = 0; i < 10; i++) {
if (fork () == 0) {
if ( i & 1 ) setpgrp () ;
printf ("Child id: %2d, group: %2d\n", getpid(),... (0 Replies)
Discussion started by: green_dot
0 Replies
5. Shell Programming and Scripting
Hello,
How many child processes are actually created when running this code ?
#include <signal.h>
#include <stdio.h>
int main () {
int i ;
setpgrp () ;
for (i = 0; i < 10; i++) {
if (fork () == 0) {
if ( i & 1 ) setpgrp () ;
printf ("Child id: %2d, group: %2d\n",... (1 Reply)
Discussion started by: green_dot
1 Replies
6. UNIX for Advanced & Expert Users
Hi,
Is there a way I can kill all the child processes of a process, given its process id.
Many thanks in advance.
J. (1 Reply)
Discussion started by: superuser84
1 Replies
7. Shell Programming and Scripting
I have a parent process which will start 36 child process. This I achieved by using the 'for loop'.
In Parent.sh:-
./Child.sh <arg1> <arg2> ... &
If I execute "ps -ef | grep Child.sh", I can see 72 child processes running at the background. I mean I can see the duplicate of each process.
... (2 Replies)
Discussion started by: nthiruvenkatam
2 Replies
8. Shell Programming and Scripting
Hi,
I have parent script which is invoking multiple child scripts. I would want to kill all the child processes before the parent
process exit.
> cat ./parent
#!/bin/ksh
while
do
. ./child arg1 &
if ; then
break
fi
done
Is there a way to get the process group id for all the child... (3 Replies)
Discussion started by: midhun19
3 Replies
9. Shell Programming and Scripting
I am trying to implement the below using Ksh script on a Lx machine.
There is a file(input_file) with 100K records. For each of these records, certain script(process_rec) needs to be called with the record as input. Sequential processing is time-consuming and parallel processing would eat up... (2 Replies)
Discussion started by: APT_3009
2 Replies
10. Shell Programming and Scripting
is there a universal way of getting the children of a particular process? i'm looking for a solution that works across different OSes...linux, aix, sunos, hpux.
i did a search online and i kept finding answers that were specific to Linux..i.e. pstree.
i want to be able to specify a process... (2 Replies)
Discussion started by: SkySmart
2 Replies
FORK(2) System Calls Manual FORK(2)
NAME
fork - spawn new process
SYNOPSIS
fork( )
DESCRIPTION
Fork is the only way new processes are created. The new process's core image is a copy of that of the caller of fork. The only distinc-
tion is the fact that the value returned in the old (parent) process contains the process ID of the new (child) process, while the value
returned in the child is 0. Process ID's range from 1 to 30,000. This process ID is used by wait(2).
Files open before the fork are shared, and have a common read-write pointer. In particular, this is the way that standard input and output
files are passed and also how pipes are set up.
SEE ALSO
wait(2), exec(2)
DIAGNOSTICS
Returns -1 and fails to create a process if: there is inadequate swap space, the user is not super-user and has too many processes, or the
system's process table is full. Only the super-user can take the last process-table slot.
ASSEMBLER
(fork = 2.)
sys fork
(new process return)
(old process return, new process ID in r0)
The return locations in the old and new process differ by one word. The C-bit is set in the old process if a new process could not be cre-
ated.
FORK(2)