list of all predecessors and successors for given PID


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting list of all predecessors and successors for given PID
# 1  
Old 12-04-2011
list of all predecessors and successors for given PID

Dear experts,
I'm moving from SunOS to Linux.
Linux has no ptree, but it has pstree. Anyway, pstree doesn't show what ptree used to print with output nice to grep. My Linux distribution doesn't have proctree either.

This forum has few posts touching ptree/pstree topic, but I didn't find a nice solution for quick method getting list of all predecessors and successors for given PID.

The best I figured out for now is a two steps approach.
1: To get list of childs (and theirs childs), I use ‘ptree -Gap $$' command.
2: To get list of all predecessors, I use recursive approach using ps -p <PID> -o ppid looking for parent pid, until reaching 1.

I'm wondering if you know a simpler method.
Kind Regards
bzk
# 2  
Old 12-05-2011
Look into the ps command.

Code:
ps -aef --forest

may be a starting point for you.
# 3  
Old 12-05-2011
Thanks jim mcnamara.

--forest gives me all data I need, but also much more than I expected. So I would have to create some smart "grep" logic to drop all data I don't need.

Finally, I decided to use combined solution:
1. To have all tree down from some pid, use ptreee -Gap <PID> and use awk to get pids.
2. To have all tree up from some pid, use following logic:

Code:
_currentPid=<requested PID>
while (( _currentPid != 1 ))
do
    _ppid=""
    ps -p ${_currentPid} -o ppid= | read _ppid _junk         
    print ${_ppid}
    _currentPid=${_ppid}
done

Thanks and Regards
bzk

Last edited by radoulov; 12-05-2011 at 04:42 PM.. Reason: Code tags!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to list all outbound sockets given a PID?

I used netstat -tp <pid> to list all Foreign Addresses i.e OutBound sockets on Linux. Likewise, i wish to list all Foreign Addresses on Sparc Solaris. I get illegal option -- t when i try this command on Solaris. The second query i have is that in the output of netstat command some... (1 Reply)
Discussion started by: mohtashims
1 Replies

2. Shell Programming and Scripting

Pid=$!

Hello, I would like to know what this command means? PID=$! what does "!" stand for? (5 Replies)
Discussion started by: googlietdr
5 Replies

3. Shell Programming and Scripting

Unix Script -- Suggestions to list and kill PID's sequentially

Hi, I'm trying to write a script where i'm trying to grep the PID and the associated file and list them. Then execute the KILL command sequentially on the listed PID's for ".tra" files ==================================================== ps -aux | grep mine adm 27739 0.2 0.8 1131588... (12 Replies)
Discussion started by: murali1687
12 Replies

4. Programming

Print ancestor list in c (name and PID)

I am trying to write a C program that prints its ancestor name and PID For example: Lets say my program name is prog1 then the output should be prog1 with PID: 2345 bash with PID: 4567 .... init with PID: 1 This is just a scratch work. #include <stdio.h> #include <unistd.h> #include... (5 Replies)
Discussion started by: nimesh
5 Replies

5. UNIX for Dummies Questions & Answers

Another PID ?

I have searched to find an anwer to no avail, I hope you can help me. I have a.ksh that many people call and a.ksh calls b.ksh b.ksh is also invoked stand-alone by many people as well In b.ksh I want to do something different if it was not involked by a.ksh. How can I do this? (7 Replies)
Discussion started by: CAGIRL
7 Replies

6. UNIX for Dummies Questions & Answers

Need to get pid of a process and have to store the pid in a variable

Hi, I need to get the pid of a process and have to store the pid in a variable and i want to use this value(pid) of the variable for some process. Please can anyone tell me how to get the pid of a process and store it in a variable. please help me on this. Thanks in advance, Amudha (7 Replies)
Discussion started by: samudha
7 Replies

7. Shell Programming and Scripting

KILL PID, intern should kill another PID.

Hi All, In my project i have two process runs in the back end. Once i start my project, and execute the command ps, i get below output: PID TTY TIME CMD 9086 pts/1 0:00 ksh 9241 pts/1 0:02 java 9240 pts/1 0:00 shell_script_bg java with 9241 PID is the main... (4 Replies)
Discussion started by: rkrgarlapati
4 Replies

8. UNIX for Dummies Questions & Answers

Session PID & socket connection pid

1. If I use an software application(which connects to the database in the server) in my local pc, how many PID should be registered? Would there be PID for the session and another PID for socket connection? 2. I noticed (through netstat) that when I logged in using the my software application,... (1 Reply)
Discussion started by: pcx26
1 Replies

9. UNIX for Dummies Questions & Answers

getting PID

Hi , I am trying to get the PID using the following command: $ /usr/ucb/ps -auwwwwx | grep java | grep Proceess | ptree PID or $ /usr/ucb/ps -auwwwwx | grep java | grep Proceess;ptree PID it is possible to get PID, such that I check whether any orphan process is running. solution... (0 Replies)
Discussion started by: Rakesh Bhat
0 Replies

10. Programming

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... (3 Replies)
Discussion started by: a25khan
3 Replies
Login or Register to Ask a Question