Hitachi

JP1 Version 12 JP1/Automatic Job Management System 3 Overview


5.4.6 Login shell at job startup (Unix jobs, flexible jobs, HTTP connection jobs, and action jobs)

If the execution host (agent) is a UNIX host, when a job is started, the execution OS user's login shell (contents of the /etc/passwd file) on the execution agent host is executed. If no login shell is defined, /bin/sh is executed. JP1/AJS3 supports the login shells sh, csh, and ksh (For Linux, in addition to the csh, the bash can also be used). See the following precautions on using shells other than these three.

Organization of this subsection

(1) Precautions for Unix jobs and flexible jobs

If you use a login shell other than sh, csh, ksh or bash, the login script might not be executed under certain OSs. Consequently, since the environment variable settings for the user executing the job are not applied, jobs might terminate abnormally or return unexpected results.

To avoid such problems, specify the environment variable settings required for executing a job script. To check whether the environment variables needed for job execution are set properly, create a shell script that writes the execution results returned by the env command to a file, and then look at the contents of the file that is output when you execute this script as a job.

(2) Common precautions for jobs

Some shells, such as bash, do not initialize signal processing to the default status. As a result, jobs might terminate abnormally or return unexpected execution results. In this case, use the sh, csh, or ksh shell instead.

Signal processing can be initialized to the default status by changing a setting as described in 15.2.17 Applying SIG_DFL (setting for receiving the SIGCHLD signal) to a child process started from JP1/AJS3 in the JP1/Automatic Job Management System 3 Configuration Guide. If you are performing a new installation of JP1/AJS version 08-00 or later, there is no need to change the setting. In these versions, jobs are executed with the default setting (SIG_DFL), which allows child processes to receive SIGCHLD signals.