Visit Our UNIX and Linux User Community


printing ppid,child pid,pid


 
Thread Tools Search this Thread
Top Forums Programming printing ppid,child pid,pid
# 1  
Old 02-01-2004
Question printing ppid,child pid,pid

question: for the below program
i just printed the value for pid, child pid and parent pid
why does it give me 6 values? i assume ppid is 28086
but can't figure out why there are 5 values printed instead of just two!
can someone comment on that!


#include<stdio.h>
#define DIM 8
int main()
{
int pid, i, ans;
int arr[DIM] = {1,2,3,4,5,6,7,8};

pid = fork();
printf("%d\n",pid);
printf("%d\n",getpid());
printf("%d\n",getppid());
}
======
the output is
$./a.out
0
28873
28872
28873
28872
28086
# 2  
Old 02-01-2004
Remember what fork() does! Both parent and child each printed three lines.
# 3  
Old 02-02-2004
perderabo,
yeah it makes sense that both child and process will execute the 3 staments, giving 6 results.
is the output in order of child,child,child,parent,parent,parent
now can u correct me if i m wrong here

0 - is the return int value that is always passed to the child to the child
this one is executed by printf("%d\n",pid);

28873 - is the pid of the child which is contained in the parent
this also executed by printf("%d\n",getpid());


28872 - is the pid of the parent
it is executed by printf("%d\n",getppid());

now running for parent
28873 - is the pid of the child
it is executed by printf("%d\n",pid);

28872 - is the pid of the parent that makes the child here
it is executed by printf("%d\n",getpid());

28086 - is the pid of the shell running this program
it is executed by printf("%d\n",getppid());

arrrrrrrrghSmilie i am confuuuuuuuused!
Hope i got that right Smilie
Sorry i am slow and ask too many questionsSmilie

Last edited by a25khan; 02-02-2004 at 12:57 AM..
# 4  
Old 02-02-2004
Computer

perderabo
actually i jus figured it out! thanks to you. you were a great help!
Cheers
a25khanSmilie

Previous Thread | Next Thread
Test Your Knowledge in Computers #251
Difficulty: Easy
MILNET was designed for highly classified military communications.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Getting child process id for a given PID

HI Am trying to get child process id for a PID using ksh.. ps -ef | grep xntpd root 3342472 2228308 0 12:17:40 - 0:00 /usr/sbin/xntpd root 4522024 6488316 0 12:18:56 pts/0 0:00 grep xntpd root 6291614 3342472 0 12:17:40 - 0:00 /usr/sbin/xntpd Here now i... (1 Reply)
Discussion started by: Priya Amaresh
1 Replies

2. Red Hat

Listing all child pid and deleting it in reverse order

Hi , My problem is that I am not able to list all process id of any process. If you see pstree command it shows many process id under https. But if I run ps command its not listing all the process id for httpd. It is just listing the PPID and immediate child process id only. I... (4 Replies)
Discussion started by: pratapsingh
4 Replies

3. UNIX for Dummies Questions & Answers

PID and PPID - please explain :(-

Hi, I need some help understanding PID and PPID that is shown by the ps -ef output. OS is Solaris 5.8. :wall: There are several Oracle databases and processes running on this server and they all have the same PPID. Does that mean they are all spawned off the same startup script? I then... (1 Reply)
Discussion started by: newbie_01
1 Replies

4. Shell Programming and Scripting

how to capture PID for a child script

Hi, I'm looking for a method where we can capture the PID and if possible the progress of child process especially the ones running in background. can anyone help? (6 Replies)
Discussion started by: aman jain
6 Replies

5. UNIX for Dummies Questions & Answers

Comparing CRON PID w/Current PPID

All, I've got a script that needs to check if it was started by cron. The code seems to be right, but it's not running correctly if cron starts it. Am I getting the pid's correctly? I'm not having any luck figuring it out. :confused: Any help is appreciated! CRON_ID=$(ps -aef | grep... (1 Reply)
Discussion started by: GregWold
1 Replies

6. Shell Programming and Scripting

child pid in ZSH

I am using ZSH shell in Linux. I am calling a child program in background mode parallely (say 2-3 threads). I have problem in handling the temporary files of these child programs since the temp file names are unique for all the child process. To distinguish i want to use the pid in the temp... (3 Replies)
Discussion started by: dhams
3 Replies

7. Shell Programming and Scripting

In ksh, how does an in-line child sub-process get its own PID?

This is not the same as a few of the other posted items dealing with sub-process pids (that I saw anyway). If zot contains: echo "main mypid: $$ - lastpid: $!" ( echo "block mypid: $$ - lastpid: $! - ppid: $PPID" ps -ef > xxx sleep 5 echo "block mypid: $$ - lastpid: $! - ppid:... (6 Replies)
Discussion started by: MichLab
6 Replies

8. UNIX for Advanced & Expert Users

strange pid and ppid problem

Hi all, Please look into the following code : int main() { char command; int pid, ppid; ppid = getpid(); /* Get the parent pid */ pid = fork(); /* Fork */ if ( pid ==0 ) { sprintf( command, " gdb a.out %d ", ppid ); printf( "Command line is %s\n", command ); system( command... (3 Replies)
Discussion started by: asvija
3 Replies

9. Programming

Child Process PID

Hi, Can anybody solve this query? A parent process forks 2 child processes. How does the child process know it's PID without the parent process sending it. Apart from the "ps-ef" option, what other options are there if any? (2 Replies)
Discussion started by: skannan
2 Replies

10. UNIX for Dummies Questions & Answers

Script to kill all child process for a given PID

Is there any build in command in unix to kill all the child process for a given process ID ? If any one has script or command, please let me know. Thanks Sanjay (4 Replies)
Discussion started by: sanjay92
4 Replies

Featured Tech Videos