01-17-2009
Write a C program to create a hierarchy of processes as shown in figure.
Parent
Child1 Child 2 Child3 Child4
First child process should display the information regarding users (users login, how many users etc). Second child should display system characteristics (the CPU characteristics, other system properties, memory, OS name, OS type, etc).Third child should fork for one more child process. Fourth child should display the name, age and qualification of the user doing the program. The parent process waits for all children’s to terminate and displays the process id of all processes.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
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
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
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
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
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)