03-19-2006
A child process is created by the fork() system call. So if prog.c correctly calls fork() it will generate a child process. It might indirectly call fork() by doing something like this:
system("date");
The system() function creates a child process which will exec() a shell. Then the shell will run the date command.
A correct call to fork() can fail if there are too many processes already running or something like that.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hello all,
I got this little problem. I don't know what happen, but its not stopping work but is more of an FYI. I have this funny process running when I do ps -aef (on RedHat AS3 ) server I get this funny child process.
root 2345 1 .... /usr/bin/kdm -nodaemon
root... (6 Replies)
Discussion started by: larryase
6 Replies
2. Programming
i want to create 3 child processes from the same parent using folk. I know how to use folk but my child processes did not come from the same parent. Any suggestion what i did wrong ? (12 Replies)
Discussion started by: Confuse
12 Replies
3. UNIX for Dummies Questions & Answers
fork() system is used to create a child a process.lets consider fork() echo krace will print krace twice .if i give it in loop it will print krace 2 power n time..in this case all child and parent process executes same process ...but i want to create a four different child process to execute four... (4 Replies)
Discussion started by: kracekumar
4 Replies
4. Programming
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
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
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
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
!/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
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
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
LEARN ABOUT PHP
pcntl_fork
PCNTL_FORK(3) 1 PCNTL_FORK(3)
pcntl_fork - Forks the currently running process
SYNOPSIS
int pcntl_fork (void )
DESCRIPTION
The pcntl_fork(3) function creates a child process that differs from the parent process only in its PID and PPID. Please see your system's
fork(2) man page for specific details as to how fork works on your system.
RETURN VALUES
On success, the PID of the child process is returned in the parent's thread of execution, and a 0 is returned in the child's thread of
execution. On failure, a -1 will be returned in the parent's context, no child process will be created, and a PHP error is raised.
EXAMPLES
Example #1
pcntl_fork(3) example
<?php
$pid = pcntl_fork();
if ($pid == -1) {
die('could not fork');
} else if ($pid) {
// we are the parent
pcntl_wait($status); //Protect against Zombie children
} else {
// we are the child
}
?>
SEE ALSO
pcntl_waitpid(3), pcntl_signal(3), setproctitle(3).
PHP Documentation Group PCNTL_FORK(3)