18.3.7. pmix_proc_state_t
pmix_proc_state_t — Defines the execution state of a process
18.3.7.1. SYNTAX
18.3.7.1.1. C Syntax
#include <pmix_common.h>
typedef uint8_t pmix_proc_state_t;
#define PMIX_PROC_STATE_UNDEF 0 /* undefined process state */
#define PMIX_PROC_STATE_PREPPED 1 /* process is ready to be launched */
#define PMIX_PROC_STATE_LAUNCH_UNDERWAY 2 /* launch process underway */
#define PMIX_PROC_STATE_RESTART 3 /* the proc is ready for restart */
#define PMIX_PROC_STATE_TERMINATE 4 /* process is marked for termination */
#define PMIX_PROC_STATE_RUNNING 5 /* daemon has locally fork'd process */
#define PMIX_PROC_STATE_CONNECTED 6 /* proc connected to PMIx server */
/*
* Define a "boundary" so users can easily and quickly determine
* if a proc is still running or not - any value less than
* this one means that the proc has not terminated
*/
#define PMIX_PROC_STATE_UNTERMINATED 15
#define PMIX_PROC_STATE_TERMINATED 20 /* process has terminated and is no longer running */
/* Define a boundary so users can easily and quickly determine
* if a proc abnormally terminated - leave a little room
* for future expansion
*/
#define PMIX_PROC_STATE_ERROR 50
/* Define specific error code values */
#define PMIX_PROC_STATE_KILLED_BY_CMD (PMIX_PROC_STATE_ERROR + 1) /* process was killed by cmd */
#define PMIX_PROC_STATE_ABORTED (PMIX_PROC_STATE_ERROR + 2) /* process aborted */
#define PMIX_PROC_STATE_FAILED_TO_START (PMIX_PROC_STATE_ERROR + 3) /* process failed to start */
#define PMIX_PROC_STATE_ABORTED_BY_SIG (PMIX_PROC_STATE_ERROR + 4) /* process aborted by signal */
#define PMIX_PROC_STATE_TERM_WO_SYNC (PMIX_PROC_STATE_ERROR + 5) /* process exit'd w/o calling PMIx_Finalize */
#define PMIX_PROC_STATE_COMM_FAILED (PMIX_PROC_STATE_ERROR + 6) /* process communication has failed */
#define PMIX_PROC_STATE_SENSOR_BOUND_EXCEEDED (PMIX_PROC_STATE_ERROR + 7) /* process exceeded a sensor limit */
#define PMIX_PROC_STATE_CALLED_ABORT (PMIX_PROC_STATE_ERROR + 8) /* process called "PMIx_Abort" */
#define PMIX_PROC_STATE_HEARTBEAT_FAILED (PMIX_PROC_STATE_ERROR + 9) /* process failed to send heartbeat w/in time limit */
#define PMIX_PROC_STATE_MIGRATING (PMIX_PROC_STATE_ERROR + 10) /* process failed and is waiting for resources before restarting */
#define PMIX_PROC_STATE_CANNOT_RESTART (PMIX_PROC_STATE_ERROR + 11) /* process failed and cannot be restarted */
#define PMIX_PROC_STATE_TERM_NON_ZERO (PMIX_PROC_STATE_ERROR + 12) /* process exited with a non-zero status, indicating abnormal */
#define PMIX_PROC_STATE_FAILED_TO_LAUNCH (PMIX_PROC_STATE_ERROR + 13) /* unable to launch process */
18.3.7.1.2. Python Syntax
None
18.3.7.2. DESCRIPTION
The pmix_proc_state_t type describes the execution state of a process, as
reported (for example) via the PMIX_PROC_STATE_STATUS attribute. Two
sentinel “boundary” values are defined to make range comparisons easy:
any value less than PMIX_PROC_STATE_UNTERMINATED indicates a process that has
not yet terminated, and any value at or above PMIX_PROC_STATE_ERROR indicates
a process that terminated abnormally. Defined values include:
NAME |
VALUE |
DESCRIPTION |
|---|---|---|
PMIX_PROC_STATE_UNDEF |
0 |
Undefined process state. |
PMIX_PROC_STATE_PREPPED |
1 |
The process is ready to be launched. |
PMIX_PROC_STATE_LAUNCH_UNDERWAY |
2 |
Launch of the process is underway. |
PMIX_PROC_STATE_RESTART |
3 |
The process is ready for restart. |
PMIX_PROC_STATE_TERMINATE |
4 |
The process is marked for termination. |
PMIX_PROC_STATE_RUNNING |
5 |
The daemon has locally fork’d the process. |
PMIX_PROC_STATE_CONNECTED |
6 |
The process has connected to its PMIx server. |
PMIX_PROC_STATE_UNTERMINATED |
15 |
Boundary marker: any state value less than this indicates the process has not terminated. |
PMIX_PROC_STATE_TERMINATED |
20 |
The process has terminated normally and is no longer running. |
PMIX_PROC_STATE_ERROR |
50 |
Boundary marker: any state value at or above this indicates the process terminated abnormally. |
PMIX_PROC_STATE_KILLED_BY_CMD |
PMIX_PROC_STATE_ERROR + 1 (51) |
The process was killed by command. |
PMIX_PROC_STATE_ABORTED |
PMIX_PROC_STATE_ERROR + 2 (52) |
The process aborted. |
PMIX_PROC_STATE_FAILED_TO_START |
PMIX_PROC_STATE_ERROR + 3 (53) |
The process failed to start. |
PMIX_PROC_STATE_ABORTED_BY_SIG |
PMIX_PROC_STATE_ERROR + 4 (54) |
The process was aborted by a signal. |
PMIX_PROC_STATE_TERM_WO_SYNC |
PMIX_PROC_STATE_ERROR + 5 (55) |
The process exited without calling PMIx_Finalize(3). |
PMIX_PROC_STATE_COMM_FAILED |
PMIX_PROC_STATE_ERROR + 6 (56) |
Communication with the process has failed. |
PMIX_PROC_STATE_SENSOR_BOUND_EXCEEDED |
PMIX_PROC_STATE_ERROR + 7 (57) |
The process exceeded a sensor limit. |
PMIX_PROC_STATE_CALLED_ABORT |
PMIX_PROC_STATE_ERROR + 8 (58) |
The process called PMIx_Abort(3). |
PMIX_PROC_STATE_HEARTBEAT_FAILED |
PMIX_PROC_STATE_ERROR + 9 (59) |
The process failed to send a heartbeat within the time limit. |
PMIX_PROC_STATE_MIGRATING |
PMIX_PROC_STATE_ERROR + 10 (60) |
The process failed and is waiting for resources before restarting. |
PMIX_PROC_STATE_CANNOT_RESTART |
PMIX_PROC_STATE_ERROR + 11 (61) |
The process failed and cannot be restarted. |
PMIX_PROC_STATE_TERM_NON_ZERO |
PMIX_PROC_STATE_ERROR + 12 (62) |
The process exited with a non-zero status, indicating abnormal termination. |
PMIX_PROC_STATE_FAILED_TO_LAUNCH |
PMIX_PROC_STATE_ERROR + 13 (63) |
The process was unable to be launched. |
18.3.7.3. ERRORS
PMIx errno values are defined in pmix_common.h.