Introduction

The Process Manager is the component responsible for launching and controlling processes in the ATLAS/TDAQ system. Since tdaq-01-07-00 it replaces the previous pmg package. The documentation describing the Process Manager functionalities and features can be found in doc/Design.doc. A detailed description of all the classes can be found in doxygen.

General Changes
Server Changes and Fixes
Client Interface Changes and Fixes
Launcher Changes and Fixes
New Helpers
        Usage:
        pmg_dump_manifest -M manifest

    Options/Arguments:
        -M   manifest   manifest file

    Description:
        List the contents of the specified manifest file.

        Usage:
        pmg_list_on_host -H hostname


    Options/Arguments:
        -H   hostname   host name

    Description:
        Lists all the process running on a host.
        Usage:
        pmg_list_partition [-H hostname] -p partition

    Options/Arguments:
        -H   hostname   Host name
        -p   partition  Partition name of the processes to kill

    Description:
        Lists all the process running within a partition (if the host is
        defined only processes running on that host will be listed).
        Usage:
                pmg_start_app -h Hostname -b BinaryName -n ApplicationName
                      -p Partition -w WorkingDirectory [-l LibraryPath]
                      [-e ProcessEnvironment] [-d LogDirectory]
                      [-i StandardInput] [-s SoftwareObject] [-x]
                      [-t Timeout] [-a Arguments ...]

    Options/Arguments:
        -h   Hostname             Host the application should be started on
        -b   BinaryName           Name of the binary to run
        -n   ApplicationName      Name to associate with the process (can be different than the binary name)
        -p   Partition            Name of the partition
        -w   WorkingDirectory     Directory where the process will be executed
        -l   LibraryPath          The path to append to LD_LIBRARY_PATH (use the standard ':' directory separator)
        -e   ProcessEnvironment   Additional environment variables to pass to the process (i.e.: Value1=Key1#Value2=Key2)
        -d   LogDirectory         Directory to write process logs (default is /tmp)
        -i   StandardInput        The redirection of stdin (default is /dev/null)
        -s   SoftwareObject       The swobject describing the process: empty string (default) -> DO not use RM; Not empty string -> USE RM
        -x                        Whether to write out the log at all (default is FALSE)
        -t   Timeout              Timeout for the pmg sync mechanism (default is "0": do not use the sync)
        -a   Arguments            Arguments to pass to the process

               
    Description:
        Asks the ProcessManager server running on a certain host to start a defined application.
    Usage:
        pmg_kill_app -n ApplicationName -p Partition [-t KillSoftTimeout] [-h Hostname]

    Options/Arguments:
        -n   ApplicationName   The name of the application to kill
        -p   Partition         Name of the partition
        -t   KillSoftTimeout   Timeout to pass to the kill_soft method (default is 10 s)
        -h   Hostname          Host the application should be started on


    Description:
        Asks the ProcessManager server to terminate a defined application.


Notes

If you need to run  multiple pmgservers in different IPC domains under the same user then you have to run each pmgserver using a different value for the TDAQ_PMG_MANIFEST_AND_FIFOS_DIR environment variable. This avoids all the pmgservers to use the same area for FIFOs and manifests.