Sponsored Content
Full Discussion: doubt in child process
Top Forums UNIX for Dummies Questions & Answers doubt in child process Post 302277643 by redoubtable on Saturday 17th of January 2009 05:44:57 AM
Old 01-17-2009
I'm not sure I understand your problem. So, you want a program that spawns multiple childs so that each child can execute a certain code, right?

Here's a sample:
Code:
int
main ()
{
    long int pids[4];
    int i;

    for (i=0; i < 4; i++)
    {  
        pids[i] = fork();
        if (pids[i] == 0)
        {  
            printf ("I'm a child, and my parent is %ld\n", getppid());
            exit (0);
        }
        else
        {  
            printf ("parent spawned child %ld\n", pids[i]);
        }
    }

}

 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

gdb to child process

Hi, I want to debug a child process which is forked from other process. Whenever I try to attach the pid of child process to gbd, the process gets killed and the parent process starts a new child process. any idea what could be the reason. In general how can i debug a child process... (4 Replies)
Discussion started by: shriashishpatil
4 Replies

2. UNIX for Dummies Questions & Answers

about child process

hello every one, i want to know more about creation of child process. UNDER WHAT CIRCUMSTANCES child process is created? WHAT ARE THE PREREQUISITES for a child process to be created? let us say we have a prog.c, prog.obj(compiled.c),.a\.out files. is any child PROCESS CREATED... (12 Replies)
Discussion started by: compbug
12 Replies

3. Programming

Time taken by a child process?

Hi, I have a program where I fork few child jobs and call execvp to run another jobs. I use wait to wait for any job to get complete. Requirement is I need to know the actual time taken by child job during execution. I thought of calculating the time just before forking and after wait, but... (3 Replies)
Discussion started by: anjul_thegreat
3 Replies

4. Programming

Why does my child process not exit?

Im sure it has something to do with the wait() call, but everything ive tried either leaves me with a zombie or with the exec executing indefinitely. switch(pid = fork()) { case -1:perror("fork failed"); exit(1); case 0: if(key == "cd") { execl("/bin/cd", "cd",... (2 Replies)
Discussion started by: p00ndawg
2 Replies

5. Shell Programming and Scripting

How to make the parent process to wait for the child process

Hi All, I have two ksh script. 1st script calls the 2nd script and the second script calls an 'C' program. I want 1st script to wait until the 'C' program completes. I cant able to get the process id for the 'C' program (child process) to make the 1st script to wait for the second... (7 Replies)
Discussion started by: sennidurai
7 Replies

6. Shell Programming and Scripting

Child Process Name

Hi , I want to find out the child process name given its PID. I have used the ps command but it displays the parent process name against child PID. Is there any way to find out name of child program executing under any parent program? (1 Reply)
Discussion started by: sneha_heda
1 Replies

7. Shell Programming and Scripting

[KSH/Bash] Starting a parent process from a child process?

Hey all, I need to launch a script from within 2 other scripts that can run independently of the two parent scripts... Im having a hard time doing this, if anyone knows how please let me know. More detail. ScriptA (bash), ScriptB (ksh), ScriptC (bash) ScriptA, launches ScriptB ScirptB,... (7 Replies)
Discussion started by: trey85stang
7 Replies

8. Shell Programming and Scripting

script to get child process for a process

!/bin/sh pid=$(ps -Aj | grep MSTRSvr | grep -v grep | awk '{print $1}') sid=$(ps -Aj | grep MSTRSvr | grep -v grep | awk '{print $3}') ps -s "$sid" I am not able to get the desired output it says process list error if i use watch ps -s "$sid" it considers only the first session id (5 Replies)
Discussion started by: schippada
5 Replies

9. Emergency UNIX and Linux Support

signal between parent process and child process

Hello, everyone. Here's a program: pid_t pid = fork(); if (0 == pid) // child process { execvp ...; } I send a signal (such as SIGINT) to the parent process, the child process receive the signal as well as the parent process. However I don't want to child process to receive the... (7 Replies)
Discussion started by: jackliang
7 Replies

10. Shell Programming and Scripting

forking a child process and kill its parent to show that child process has init() as its parent

Hi everyone i am very new to linux , working on bash shell. I am trying to solve the given problem 1. Create a process and then create children using fork 2. Check the Status of the application for successful running. 3. Kill all the process(threads) except parent and first child... (2 Replies)
Discussion started by: vizz_k
2 Replies
PTHREAD_ATFORK(3)					     Library Functions Manual						 PTHREAD_ATFORK(3)

NAME
pthread_atfork - register handlers to be called at fork(2) time SYNOPSIS
#include <pthread.h> int pthread_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void)); DESCRIPTION
pthread_atfork registers handler functions to be called just before and just after a new process is created with fork(2). The prepare han- dler will be called from the parent process, just before the new process is created. The parent handler will be called from the parent process, just before fork(2) returns. The child handler will be called from the child process, just before fork(2) returns. One or several of the three handlers prepare, parent and child can be given as NULL, meaning that no handler needs to be called at the cor- responding point. pthread_atfork can be called several times to install several sets of handlers. At fork(2) time, the prepare handlers are called in LIFO order (last added with pthread_atfork, first called before fork), while the parent and child handlers are called in FIFO order (first added, first called). To understand the purpose of pthread_atfork, recall that fork(2) duplicates the whole memory space, including mutexes in their current locking state, but only the calling thread: other threads are not running in the child process. The mutexes are not usable after the fork and must be initialized with pthread_mutex_init in the child process. This is a limitation of the current implementation and might or might not be present in future versions. RETURN VALUE
pthread_atfork returns 0 on success and a non-zero error code on error. ERRORS
ENOMEM insufficient memory available to register the handlers. AUTHOR
Xavier Leroy <Xavier.Leroy@inria.fr> SEE ALSO
fork(2), pthread_mutex_lock(3), pthread_mutex_unlock(3). LinuxThreads PTHREAD_ATFORK(3)
All times are GMT -4. The time now is 05:38 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy