How to identify parent process for ORCHESTRATE

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
prasad111
Premium Member
Premium Member
Posts: 173
Joined: Fri May 19, 2006 10:53 am

How to identify parent process for ORCHESTRATE

Post by prasad111 »

Hi, Is there a way to find the parent process for ORCHESTRATE

Job: Parallel_testjob
User: test

The pid for the job is 32655 and the ORCHESTRATE is 32730, is there a way to find out the pid 32655 created the ORCHESTRATE process 32730. The reason for this in production, there are some run away jobs, need to identify and kill those processess

Code: Select all

$ ps -ef | grep phantom
test     32655 16765  3 11:07 ?        00:00:00 phantom DSD.RUN Parallel_testjob0/50/1/0/0
test     32700 32655  0 11:07 ?        00:00:00 phantom SH -c 'RT_SC470/OshExecuter.sh RT_SC470/OshScript.osh RT_SCTEMP/ parallel_testjob.fifo  -monitorport 13400 -pf RT_SC470/jpfile -impexp_charset UTF-8  -string_charset UTF-8 -input_charset UTF-8 -output_charset UTF-8 -collation_sequence OFF '
test     32705 32655  0 11:07 ?        00:00:00 phantom DSD.OshMonitor Parallel_testjob32702 MSEVENTS.FALSE

$ ps -ef | grep ORCHESTRATE
test     32730     1  1 11:07 ?        00:00:00 ORCHESTRATE_Section_Leader                                                                                                                        
$ ps -ef | grep parallel
test     32731 32730  0 11:07 ?        00:00:00 parallel APT_OraWriteSubOperator in Oracle_Enterprise_305                                                                                     
test     32732 32730  0 11:07 ?        00:00:00 parallel APT_OraWriteSubOperator in Oracle_Enterprise_299                                                                                         
test     32733 32730  0 11:07 ?        00:00:00 parallel APT_OraWriteSubOperator in Oracle_Enterprise_307                                                                                         

$ ps -ef | grep sequential
test     32734 32730 85 11:07 ?        00:00:17 sequential APT_CombinedOperatorController                                                                                                         
test     32742 32734  0 11:07 ?        00:00:00 sequential APT_CombinedOperatorController 
Your replies are highly appreciated,
Thanks & Regards
Prasad
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

NEVER kill DataStage processes.

Enable player processes showing their PID in the log at startup. The parent of a player process will be a section leader. The parent of a section leader, if on the conductor node, will be the conductor process.

All of these are "Orchestrate" processes.

ps -ef shows both process ID (PID) and parent process ID (PPID). You can work out the relationships from those.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
prasad111
Premium Member
Premium Member
Posts: 173
Joined: Fri May 19, 2006 10:53 am

Post by prasad111 »

Yes I understand and I try not to kill the datastage process, unless the job gets hung without doing anything One of the scenario: hung up

I guess APT_PM_SHOW_PIDS show the process id's in the director, from there I can track the PID and their child PPID.
Is there a way to find the processes for the job [relation between job and the Orchestrate PID] without seeing the log into the datastage director?

In the above example, the The PPID was 1, so could not find the parent process.....

Code: Select all

$ ps -ef | grep ORCHESTRATE 
UID        PID  PPID  C STIME TTY          TIME CMD
test     32730     1  1 11:07 ?        00:00:00 ORCHESTRATE_Section_Leader 
Post Reply