Hitachi

JP1 Version 12 JP1/Automatic Job Management System 3 Configuration Guide


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:
  1. 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.

  2. 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 (For Linux, in addition to the csh, the bash can also be used) as the login shell for the job execution OS user. Alternatively, start the application via the shell.

(2) Setting method 2

(a) Definition procedure

  1. 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.

  2. Execute the following command to set the environment setting parameter described in (2) below:

    jajs_config -k "definition-key" "parameter-name"=value
  3. 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

Table 15‒35: Environment setting parameter used to apply SIG_DFL to child processes started from JP1/AJS3

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 20.5.2(63) IsSigchldDefault.

(3) Child-process signals set by JP1/AJS3

Table 15‒36: 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

Legend:

A: The default behavior is to terminate the process.

B: The default behavior is to ignore the signal.

C: The default behavior is to dump core.

D: The default behavior is to stop the process.

E: Signal that cannot be caught

F: Signal that cannot be ignored

G: Signal that does not conform to POSIX.1

H: The signal is ignored.

I: The default behavior is to restart the process.

#1:

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.

#2:

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, SIG_IGN, which is the setting for ignoring the SIGCHLD signal, is applied.