18.3.48. pmix_node_pid_t

pmix_node_pid_t — Identifies an operating system process by node and PID

18.3.48.1. SYNTAX

18.3.48.1.1. C Syntax

#include <pmix_common.h>

typedef struct pmix_node_pid {
    char *hostname;
    uint32_t nodeid;
    pid_t pid;
} pmix_node_pid_t;

18.3.48.2. DESCRIPTION

The pmix_node_pid_t structure identifies a specific operating system process on a specific node by pairing a node identifier with the process’s local PID. It is used, for example, to specify the set of processes to be watched via the PMIX_MONITOR_TARGET_PIDS attribute.

The fields of the structure are:

  • hostname — the name of the node on which the process resides. May be NULL if the node is instead identified by nodeid.

  • nodeid — the numerical identifier of the node on which the process resides. A value of UINT32_MAX indicates the field is not set.

  • pid — the local operating system process identifier (PID) of the target process. A value of -1 indicates the field is not set.

Either hostname or nodeid may be used to identify the node; a consumer must be prepared to accept whichever the producer has supplied.

18.3.48.3. STATIC INITIALIZER

A statically declared pmix_node_pid_t may be initialized with the PMIX_NODE_PID_STATIC_INIT macro, which sets hostname to NULL, nodeid to UINT32_MAX, and pid to -1:

pmix_node_pid_t npid = PMIX_NODE_PID_STATIC_INIT;