Skip to main content

Summary

How to get an overview (containing the process name, node daemon and process status) of my processes registered with the Orbix 6.3 locator in my Orbix domain

Environment

Orbix 6.3, All supported OS

Question/Problem Description

In certain cases it is useful to get a more detailed overview of all registered processes  in an Orbix domain.

Clarifying Information

The itadmin process list utility can be used to list all processes in an Orbix domain, and itadmin process show <process-name> can be used to display all attributes of the specified process.

itadmin process list -help
    usage: process list [-count] [-node_daemon <node_daemon_name>] [-active]
    -c[ount]        Total process count.
    -n[ode_daemon]  List active processes for the specified activator.
    -a[ctive]       List all active processes.

Resolution

In certain circumstances it is helpful to have a more detailed overview of the processes than the one returned by itadmin process list. If an overview containing e.g. the process name, the node daemon monitoring the process, and the status of the process is required this can be achieved by writing acustom TCL script to be run with itadmin.

The following TCL script will print the above details. Save the script below into a file called processes.tcl and run itadmin processes.tcl

 

# get the list of all processes registered with the Orbix locator
set processes [process list]

puts "\\n"
puts "----------------------------------------------------------------------"
puts "   PROCESS NAME : MONITORED BY DAEMON : ACTIVE"
puts "----------------------------------------------------------------------"

# for each process in the list
foreach p $processes {

    # get all process attributes
    set process_details [process show $p]

    # split the lines of the process attributes
    set lines [split $process_details "\\n"]
    
    # for each line
    foreach line  $lines {
        # get the active status details
        if { [string first "Active: " $line] != -1 } {
            set active [join [lrange [split $line] 1 end]]
        }    
        #get the node daemon details
        if { [string first "Usually Monitored By: " $line] != -1 } {
        
            set daemon [join [lrange [split $line] 3 end]]
            
            # print details
            puts "$p : $daemon : $active"
        }
    }
}
puts "----------------------------------------------------------------------"

Support Incidents

2881501


#Orbix
#KnowledgeDocs