02-29-2012
Hi Anjan1,
fork function creates one additional process. Check the return value, the child pid for the parent and 0 for the child. To count them use a variable, like
Regards,
Birei
Last edited by birei; 02-29-2012 at 11:34 AM..
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Is there a way to monitor certain processes and if they hang too long to kill them, but certain scripts which are expected to take a long time to let them go?
Thank you
Richard (4 Replies)
Discussion started by: ukndoit
4 Replies
2. 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
3. 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
4. Solaris
Hi
Is there an easy way to identify and group currently running processes into OS processes and APP processes. Not all applications are installed as packages.
Any free tools or scripts to do this?
Many thanks. (2 Replies)
Discussion started by: wilsonee
2 Replies
5. SCO
Dear experts,
I have done a re-installation of sco unix openserver 5.0.5 and managed to create users. The problem am facing is that of one user logging in more than 5 times. How can i overcome this problem. the system give the error below.
-sh: fork failed - too many processes in sco unix... (5 Replies)
Discussion started by: njoroge
5 Replies
6. UNIX for Dummies Questions & Answers
Disclaimer: This is just a rainy day experiment. There is no expected "goal" other than to understand UNIX better.
After reading about fork and exec, my understanding is that forking, as the UNIX shell does by design, consequentially may sacrafice some speed versus an approach that runs in... (1 Reply)
Discussion started by: uiop44
1 Replies
7. Programming
Hi friends,
I have a small question regarding unix system call fork, I hope you will solve my problem. Here is the small program
$ cat fork1.c
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
int main()
{
int pid;
int x = 0;
x = x + 1;
pid = fork();
if(pid < 0)
{... (2 Replies)
Discussion started by: gabam
2 Replies
8. Programming
Hello people
I need help
How to make ONE process to create MORE (not one) processes with fork(). I tried several codes but do not work.
Thanks (8 Replies)
Discussion started by: nekoj
8 Replies
9. Programming
Hi guys!
I'll simplify my problem. I have the following code:
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <signal.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/wait.h>
#define max 25
#define buffdim 50
void p1();
void p2();... (2 Replies)
Discussion started by: pfpietro
2 Replies
10. Shell Programming and Scripting
Can anyone help me with this?
Create a parent process that gets from the command line n arguments arg1, arg2, ... , argn.
The parent will create n/3 son processes, each of them will create a file with the name argi by concatenate the files argi+1 and argi+2.
How can i concatenate those... (1 Reply)
Discussion started by: bunicu01
1 Replies
LEARN ABOUT OPENDARWIN
pthread_atfork
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)