Sponsored Content
Top Forums Programming how to creat 1 parent to call 3 children Post 86986 by zmanultra on Wednesday 19th of October 2005 04:38:12 AM
Old 10-19-2005
Question how to creat 1 parent to call 3 children

hi there, im trying to produce this program that would run at first, and when it runs it will fork one child process to [exec] a program and then another forking to run this other program, and then another one .

i cant seem to get it right can someone help me please here is what is got so far:

Code:
int main ()
{
//page 265
pid_t fork_1, fork_2;

printf("before: my pid is %d\n", getpid());//who am i
printf("before: my ppid is %d\n", getppid());//who am i

	fork_1 = fork();
	fork_2 = fork();




	if (fork_1 == -1
	perror("fork not done");

	else if (fork_1 ==0) {
	printf("Hi Dady--==Process ID==-- %d\n",getpid());
	execl("/home/knoppix/assi/count.out","./count.out",NULL,NULL);
	printf("fork_1 is %d\n i died :( \n",fork_1);
	sleep(2);
	
}
	else if (fork_2 == 0) {
	fork();
	printf("hi its me dady --==Process ID==-- %d\n",getpid());
	execl("/home/knoppix/assi/count.out","./count.out",NULL,NULL);
	sleep(2);

}
	else
	wait(NULL);
	printf("Im The Parent ID is %d\n",getpid());		

	printf("pid %d Terminated...........\n",getpid());
}

 

9 More Discussions You Might Find Interesting

1. Programming

Creat-Crontab

Dear All, Please any send the idea and designing for creating the crontab in c Thank in advanced (2 Replies)
Discussion started by: dhinesh
2 Replies

2. AIX

Creat a File with a Specific Size

Hi everybody, Is there a command that can create a new file with a specific size? Thanks in advance. (3 Replies)
Discussion started by: aldowsary
3 Replies

3. Shell Programming and Scripting

full path of a file situated either in parent's dir. or parent's parent dir. so on...

hi experts(novice people can stay away as it is no child's game), i am developing a script which works like recycle bin of windows. the problem i am facing is that when ever i am trying to delete a file which is situated in parent directory or parent's parent directory i am unable to... (1 Reply)
Discussion started by: yahoo!
1 Replies

4. UNIX for Advanced & Expert Users

Fork() 1 Parent 3 Children

Hi, as I understand fork(), it makes a copy of the parent which becomes a child. But is there anyway to make three children for that one parent. So in other words, if I look up the getppid() of the children, I want them to have the same value?? Thanks in advance to any help! (1 Reply)
Discussion started by: MS_CC
1 Replies

5. Solaris

creat flash archive

I want take a flash backup by flar command for specific files like: / , /boot, /tmp I am trying this command but its not working # flar -n archive1 -f /,/boot,/tmp -F -c /home/arc1.flar Please can any body help me __.____._ (2 Replies)
Discussion started by: kmuqalled
2 Replies

6. Debian

creat image for the new kernel

Hello friends, I have compiled the kernel . But now i am facing the problem as to how we can create the initrd.img for the specific kernel. I was compiling the 2.6.29 kernel. to create initrd.img for 2.6.29 what i did is : cd /boot mkinitramfs-kpkg -o initrd.img-2.6.29 2.6.29... (2 Replies)
Discussion started by: pradeepreddy
2 Replies

7. Web Development

chrome window.parent call javascript func fail

Hi Everyone, Please refer to attached test.zip. Open a.htm, tested under IE, Safari, Firefox no problem, but ONLY google chrome fail, seems cannot use call parent javascript function under the child iframe. Please advice. Thanks (1 Reply)
Discussion started by: jimmy_y
1 Replies

8. Homework & Coursework Questions

program to send messages to parent using pipes and select system call

Write a program using select, which will create some number of child processes that continuously send text messages to the parent process using pipes. Each child has its own pipe that it uses to communicate with the parent. The parent uses select () to decide what pipes should be processed to... (1 Reply)
Discussion started by: ripssingh
1 Replies

9. UNIX for Beginners Questions & Answers

One parent, multiple children pipe with fork()

The task I have to do is something along the lines "I receive some input and based on the first character I send it through pipe to one of the children to print". The scheme it is based on is 1->2; 1->3; 1->4; 2 will print all the input that starts with a letter, 3 will print all the input that... (2 Replies)
Discussion started by: Ildiko
2 Replies
fork(2) 							System Calls Manual							   fork(2)

Name
       fork - create a new process

Syntax
       #include <sys/types.h>
       #include <unistd.h>

       pid = fork()
       pid_t pid;

Description
       The  system  call causes creation of a new process.  The new process (child process) is an exact copy of the calling process except for the
       following:

       o    The child process has a unique process ID.

       o    The child process has a different parent process ID (that is, the process ID of the parent process).

       o    The child process has its own copy of the parent's descriptors.  These descriptors reference the same underlying objects, so that, for
	    instance,  file  pointers  in file objects are shared between the child and the parent, so that a on a descriptor in the child process
	    can affect a subsequent read or write by the parent.  This descriptor copying is also used by the shell to	establish  standard  input
	    and output for newly created processes as well as to set up pipes.

       o    The child processes resource utilizations are set to 0.  For further information, see

Return Values
       Upon  successful  completion,  returns  a  value  of  0	to the child process and returns the process ID of the child process to the parent
       process.  Otherwise, a value of -1 is returned to the parent process, no child process is created, and the global variable errno is set	to
       indicate the error.

Diagnostics
       The system call fails and no child process are created under the following conditions:

       [EAGAIN]       The system-imposed limit {PROC_MAX} on the total number of processes under execution would be exceeded.

       [EAGAIN]       The system-imposed limit {CHILD_MAX} on the total number of processes under execution by a single user would be exceeded.

       [ENOMEM]       There is insufficient swap space for the new process.

See Also
       execve(2), wait(2)

																	   fork(2)
All times are GMT -4. The time now is 05:40 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy