15.2.17 Applying SIG_DFL (setting for receiving the SIGCHLD signal) to a child process started from JP1/AJS3
The explanation in this subsection applies to a UNIX environment in which a UNIX or action job that is not a JP1/AJS3 queueless job is executed. In this state, depending on the login shell used by the job execution OS user, the status of the job might change to Failed to start or Ended abnormally. Alternatively, the job might end with an unexpected result. This occurs because child processes started from JP1/AJS3 are based on SIG_IGN, which is the setting that ignores the SIGCHLD signal. For details about child-process signals set by JP1/AJS3, see (3) Child-process signals set by JP1/AJS3.
- Cautionary notes:
-
-
If JP1/AJS2 08-00 or a later version or JP1/AJS3 is installed as a new installation, SIG_DFL, which is the setting for receiving the SIGCHLD signal, is applied. In this case, the settings described in this subsection need not be specified.
-
If JP1/AJS2 08-00 or a later version or JP1/AJS3 is installed as an upgrade from JP1/AJS2 07-50 or an earlier version, the previous settings are inherited. In this case, the settings described in this subsection must be specified.
-
The following describes how to apply SIG_DFL, which is the setting for receiving the SIGCHLD signal, to the type of job described above.
Note that if you use the queueless job execution functionality, you do not need to specify the settings described in this subsection. For any child process started from the queueless agent service when a queueless job is executed, SIG_DFL, which is the setting for receiving the SIGCHLD signal, is applied.
- Organization of this subsection
(1) Setting method 1
If an application that might cause the problem described above is started from JP1/AJS3, use sh, csh, ksh (csh for Linux) as the login shell for the job execution OS user. Alternatively, start the application via the shell.
(2) Setting method 2
(a) Definition procedure
-
Stop the JP1/AJS3 service.
Execute the following commands to confirm that all processes have stopped:
# /etc/opt/jp1ajs2/jajs_stop#1 # /opt/jp1ajs2/bin/jajs_spmd_status
- #1:
-
Confirm that automatic termination has been set.
-
Execute the following command to set the environment setting parameter described in (2) below:
jajs_config -k definition-key "parameter-name"=value
-
Restart JP1/AJS3.
The new settings are applied.
- Cautionary note:
-
If you apply SIG_DFL, which is the setting for receiving the SIGCHLD signal, you must use the above procedure on the job execution host.
(b) Environment setting parameter
Definition key |
Environment setting parameter |
Explanation |
---|---|---|
[{JP1_DEFAULT|logical-host}\JP1NBQAGENT\Job]# |
"IsSigchldDefault"= |
Specifies whether to apply SIG_DFL, which is the setting for receiving the SIGCHLD signal, to child processes started from JP1/AJS3. |
- #:
-
The specification of the {JP1_DEFAULT|logical-host} part depends on whether the host is a physical host or a logical host. For a physical host, specify JP1_DEFAULT. For a logical host, specify the logical host name.
For details about the definition of this environment setting parameter, see 2.3.2(63) IsSigchldDefault in the Job Management Partner 1/Automatic Job Management System 3 Configuration Guide 2.
(3) Child-process signals set by JP1/AJS3
Signal name |
Initial setting |
Behavior |
---|---|---|
SIGHUP |
SIG_DFL (default) |
A |
SIGINT |
SIG_DFL (default) |
A |
SIGQUIT |
SIG_DFL (default) |
A |
SIGILL |
SIG_DFL (default) |
A |
SIGTRAP |
SIG_DFL (default) |
C, G |
SIGIOT |
SIG_DFL (default) |
C, G |
SIGEMT |
SIG_DFL (default) |
G |
SIGFPE |
SIG_DFL (default) |
C |
SIGBUS |
SIG_DFL (default) |
A, G |
SIGSEGV |
SIG_DFL (default) |
C |
SIGSYS |
SIG_DFL (default) |
G |
SIGPIPE |
SIG_DFL (default) |
A |
SIGALRM |
SIG_DFL (default) |
A |
SIGTERM |
SIG_DFL (default) |
A |
SIGUSR1 |
SIG_DFL (default) |
A |
SIGUSR2 |
SIG_DFL (default) |
A |
SIGCHLD |
SIG_DFL (default)#1 |
B |
SIG_IGN (ignore)#2 |
H |
|
SIGPWR |
SIG_DFL (default) |
A, G |
SIGVTALRM |
SIG_DFL (default) |
A, G |
SIGPROF |
SIG_DFL (default) |
A, G |
SIGIO |
SIG_DFL (default) |
A, G |
SIGWINCH |
SIG_DFL (default) |
B, G |
SIGTSTP |
SIG_DFL (default) |
D |
SIGCONT |
SIG_DFL (default) |
I |
SIGTTIN |
SIG_DFL (default) |
D |
SIGTTOU |
SIG_DFL (default) |
D |
SIGURG |
SIG_DFL (default) |
B, G |
SIGLOST |
SIG_DFL (default) |
A, G |