QALTER(1P)

PROLOG
This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ (consult the corresponding Linux manual page for details of Linux behavior), or the interface may not be implemented on Linux.

NAME
qalter — alter batch job

SYNOPSIS

qalter [-a date_time] [-A account_string] [-c interval] [-e path_name]
    [-h hold_list] [-j join_list] [-k keep_list] [-l resource_list]
    [-m mail_options] [-M mail_list] [-N name] [-o path_name]
    [-p priority] [-r y|n] [-S path_name_list] [-u user_list]
    job_identifier...

DESCRIPTION
The attributes of a batch job are altered by a request to the batch server that manages the batch job. The qalter utility is a user-accessible batch client that requests the alteration of the attributes of one or more batch jobs.

The qalter utility shall alter the attributes of those batch jobs, and only those batch jobs, for which a batch job_identifier is presented to the utility.

The qalter utility shall alter the attributes of batch jobs in the order in which the batch job_identifiers are presented to the utility.

If the qalter utility fails to process a batch job_identifier successfully, the utility shall proceed to process the remaining batch job_identifiers, if any.

For each batch job_identifier for which the qalter utility succeeds, each attribute of the identified batch job shall be altered as indicated by all the options presented to the utility.

For each identified batch job for which the qalter utility fails, the utility shall not alter any attribute of the batch job.

For each batch job that the qalter utility processes, the utility shall not modify any attribute other than those required by the options and option-arguments presented to the utility.

The qalter utility shall alter batch jobs by sending a Modify Job Request to the batch server that manages each batch job. At the time the qalter utility exits, it shall have modified the batch job corresponding to each successfully processed batch job_identifier. An attempt to alter the attributes of a batch job in the RUNNING state is implementation-defined.

OPTIONS
The qalter utility shall conform to the Base Definitions volume of POSIX.1-2017, Section 12.2, Utility Syntax Guidelines.

The following options shall be supported by the implementation:

-a date_time
    Redefine the time at which the batch job becomes eligible for execution.

    The date_time argument shall be in the same form and represent the same time as for the touch utility. The time so represented shall be set into the Execution_Time attribute of the batch job. If the time specified is earlier than the current time, the -a option shall have no effect.

-A account_string
    Redefine the account to which the resource consumption of the batch job should be charged.

    The syntax of the account_string option-argument is unspecified.

    The qalter utility shall set the Account_Name attribute of the batch job to the value of the account_string option-argument.

-c interval
    Redefine whether the batch job should be checkpointed, and if so, how often.

    The qalter utility shall accept a value for the interval option-argument that is one of the following:

    n   No checkpointing is to be performed on the batch job (NO_CHECKPOINT).

    s   Checkpointing is to be performed only when the batch server is shut down (CHECKPOINT_AT_SHUTDOWN).

    c   Automatic periodic checkpointing is to be performed at the Minimum_Cpu_Interval attribute of the batch queue, in units of CPU minutes (CHECKPOINT_AT_MIN_CPU_INTERVAL).

    c=minutes
        Automatic periodic checkpointing is to be performed every minutes of CPU time, or every Minimum_Cpu_Interval minutes, whichever is greater. The minutes argument shall conform to the syntax for unsigned integers and shall be greater than zero.

    An implementation may define other checkpoint intervals. The conformance document for an implementation shall describe any alternative checkpoint intervals, how they are specified, their internal behavior, and how they affect the behavior of the utility.

    The qalter utility shall set the Checkpoint attribute of the batch job to the value of the interval option-argument.

-e path_name
    Redefine the path to be used for the standard error stream of the batch job.

    The qalter utility shall accept a path_name option-argument that conforms to the syntax of the path_name element defined in the System Interfaces volume of POSIX.1-2017, which can be preceded by a host name element of the form hostname:.

    If the path_name option-argument constitutes an absolute pathname, the qalter utility shall set the Error_Path attribute of the batch job to the value of the path_name option-argument, including the host name element, if present.

    If the path_name option-argument constitutes a relative pathname and no host name element is specified, the qalter utility shall set the Error_Path attribute of the batch job to the value of the absolute pathname derived by expanding the path_name option-argument relative to the current directory of the process that executes the qalter utility.

    If the path_name option-argument constitutes a relative pathname and a host name element is specified, the qalter utility shall set the Error_Path attribute of the batch job to the value of the option-argument without expansion.

    If the path_name option-argument does not include a host name element, the qalter utility shall prefix the pathname in the Error_Path attribute with hostname:, where hostname is the name of the host upon which the qalter utility is being executed.

-h hold_list
    Redefine the types of holds, if any, on the batch job. The qalter -h option shall accept a value for the hold_list option-argument that is a string of alphanumeric characters in the portable character set.

    The qalter utility shall accept a value for the hold_list option-argument that is a string of one or more of the characters 'u', 's', or 'o', or the single character 'n'. For each unique character in the hold_list option-argument, the qalter utility shall add a value to the Hold_Types attribute of the batch job as follows, each representing a different hold type:

    u   USER

    s   SYSTEM

    o   OPERATOR

    If any of these characters are duplicated in the hold_list option-argument, the duplicates shall be ignored. An existing Hold_Types attribute can be cleared by the hold type:

    n   NO_HOLD

    The qalter utility shall consider it an error if any hold type other than 'n' is combined with hold type 'n'. Strictly conforming applications shall not repeat any of the characters 'u', 's', 'o', or 'n' within the hold_list option-argument. The qalter utility shall permit the repetition of characters, but shall not assign additional meaning to the repeated characters. An implementation may define other hold types. The conformance document for an implementation shall describe any additional hold types, how they are specified, their internal behavior, and how they affect the behavior of the utility.

-j join_list
    Redefine which streams of the batch job are to be merged. The qalter -j option shall accept a value for the join_list option-argument that is a string of alphanumeric characters in the portable character set.

    The qalter utility shall accept a join_list option-argument that consists of one or more of the characters 'e' and 'o', or the single character 'n'.

    All of the other batch job output streams specified shall be merged into the output stream represented by the character listed first in the join_list option-argument.

    For each unique character in the join_list option-argument, the qalter utility shall add a value to the Join_Path attribute of the batch job as follows, each representing a different batch job stream to join:

    e   The standard error of the batch job (JOIN_STD_ERROR).

    o   The standard output of the batch job (JOIN_STD_OUTPUT).

    An existing Join_Path attribute can be cleared by the join type:

    n   NO_JOIN

    If 'n' is specified, then no files are joined. The qalter utility shall consider it an error if any join type other than 'n' is combined with join type 'n'.

    Strictly conforming applications shall not repeat any of the characters 'e', 'o', or 'n' within the join_list option-argument. The qalter utility shall permit the repetition of characters, but shall not assign additional meaning to the repeated characters.

    An implementation may define other join types. The conformance document for an implementation shall describe any additional batch job streams, how they are specified, their internal behavior, and how they affect the behavior of the utility.

-k keep_list
    Redefine which output of the batch job to retain on the execution host.

    The qalter -k option shall accept a value for the keep_list option-argument that is a string of alphanumeric characters in the portable character set.

    The qalter utility shall accept a keep_list option-argument that consists of one or more of the characters 'e' and 'o', or the single character 'n'.

    For each unique character in the keep_list option-argument, the qalter utility shall add a value to the Keep_Files attribute of the batch job as follows, each representing a different batch job stream to keep:

    e   The standard error of the batch job (KEEP_STD_ERROR).

    o   The standard output of the batch job (KEEP_STD_OUTPUT).

    If both 'e' and 'o' are specified, then both files are retained. An existing Keep_Files attribute can be cleared by the keep type:

    n   NO_KEEP

    If 'n' is specified, then no files are retained. The qalter utility shall consider it an error if any keep type other than 'n' is combined with keep type 'n'.

    Strictly conforming applications shall not repeat any of the characters 'e', 'o', or 'n' within the keep_list option-argument. The qalter utility shall permit the repetition of characters, but shall not assign additional meaning to the repeated characters. An implementation may define other keep types. The conformance document for an implementation shall describe any additional keep types, how they are specified, their internal behavior, and how they affect the behavior of the utility.

-l resource_list
    Redefine the resources that are allowed or required by the batch job.

    The qalter utility shall accept a resource_list option-argument that conforms to the following syntax:

        resource=value[,,resource=value,,...]

    The qalter utility shall set one entry in the value of the Resource_List attribute of the batch job for each resource listed in the resource_list option-argument.

    Because the list of supported resource names might vary by batch server, the qalter utility shall rely on the batch server to validate the resource names and associated values. See Section 3.3.3, Multiple Keyword-Value Pairs for a means of removing keyword= value (and value@ keyword) pairs and other general rules for list-oriented batch job attributes.

-m mail_options
    Redefine the points in the execution of the batch job at which the batch server is to send mail about a change in the state of the batch job.

    The qalter -m option shall accept a value for the mail_options option-argument that is a string of alphanumeric characters in the portable character set.

    The qalter utility shall accept a value for the mail_options option-argument that is a string of one or more of the characters 'e', 'b', and 'a', or the single character 'n'. For each unique character in the mail_options option-argument, the qalter utility shall add a value to the Mail_Users attribute of the batch job as follows, each representing a different time during the life of a batch job at which to send mail:

    e   MAIL_AT_EXIT

    b   MAIL_AT_BEGINNING

    a   MAIL_AT_ABORT

    If any of these characters are duplicated in the mail_options option-argument, the duplicates shall be ignored.

    An existing Mail_Points attribute can be cleared by the mail type:

    n   NO_MAIL

    If 'n' is specified, then mail is not sent. The qalter utility shall consider it an error if any mail type other than 'n' is combined with mail type 'n'. Strictly conforming applications shall not repeat any of the characters 'e', 'b', 'a', or 'n' within the mail_options option-argument. The qalter utility shall permit the repetition of characters but shall not assign additional meaning to the repeated characters.

    An implementation may define other mail types. The conformance document for an implementation shall describe any additional mail types, how they are specified, their internal behavior, and how they affect the behavior of the utility.

-M mail_list
    Redefine the list of users to which the batch server that executes the batch job is to send mail, if the batch server sends mail about the batch job.

    The syntax of the mail_list option-argument is unspecified. If the implementation of the qalter utility uses a name service to locate users, the utility shall accept the syntax used by the name service.

    If the implementation of the qalter utility does not use a name service to locate users, the implementation shall accept the following syntax for user names:

        mail_address[,,mail_address,,...]

    The interpretation of mail_address is implementation-defined.

    The qalter utility shall set the Mail_Users attribute of the batch job to the value of the mail_list option-argument.

-N name
    Redefine the name of the batch job.

    The qalter -N option shall accept a value for the name option-argument that is a string of up to 15 alphanumeric characters in the portable character set where the first character is alphabetic.

    The syntax of the name option-argument is unspecified.

    The qalter utility shall set the Job_Name attribute of the batch job to the value of the name option-argument.

-o path_name
    Redefine the path for the standard output of the batch job.

    The qalter utility shall accept a path_name option-argument that conforms to the syntax of the path_name element defined in the System Interfaces volume of POSIX.1-2017, which can be preceded by a host name element of the form hostname:.

    If the path_name option-argument constitutes an absolute pathname, the qalter utility shall set the Output_Path attribute of the batch job to the value of the path_name option-argument.

    If the path_name option-argument constitutes a relative pathname and no host name element is specified, the qalter utility shall set the Output_Path attribute of the batch job to the absolute pathname derived by expanding the path_name option-argument relative to the current directory of the process that executes the qalter utility.

    If the path_name option-argument constitutes a relative pathname and a host name element is specified, the qalter utility shall set the Output_Path attribute of the batch job to the value of the path_name option-argument without any expansion of the pathname.

    If the path_name option-argument does not include a host name element, the qalter utility shall prefix the pathname in the Output_Path attribute with hostname:, where hostname is the name of the host upon which the qalter utility is being executed.

-p priority
    Redefine the priority of the batch job.

    The qalter utility shall accept a value for the priority option-argument that conforms to the syntax for signed decimal integers, and which is not less than -1024 and not greater than 1023.

    The qalter utility shall set the Priority attribute of the batch job to the value of the priority option-argument.

-r y|n
    Redefine whether the batch job is rerunnable.

    If the value of the option-argument is 'y', the qalter utility shall set the Rerunable attribute of the batch job to TRUE.

    If the value of the option-argument is 'n', the qalter utility shall set the Rerunable attribute of the batch job to FALSE.

    The qalter utility shall consider it an error if any character other than 'y' or 'n' is specified in the option-argument.

-S path_name_list
    Redefine the shell that interprets the script at the destination system.

    The qalter utility shall accept a path_name_list option-argument that conforms to the following syntax:

        pathname[@host][,pathname[@host],...]

    The qalter utility shall accept only one pathname that is missing a corresponding host name. The qalter utility shall allow only one pathname per named host.

    The qalter utility shall add a value to the Shell_Path_List attribute of the batch job for each entry in the path_name_list option-argument. See Section 3.3.3, Multiple Keyword-Value Pairs for a means of removing keyword= value (and value@ keyword) pairs and other general rules for list-oriented batch job attributes.

-u user_list
    Redefine the user name under which the batch job is to run at the destination system.

    The qalter utility shall accept a user_list option-argument that conforms to the following syntax:

        username[@host][,,username[@host],,...]

    The qalter utility shall accept only one user name that is missing a corresponding host name. The qalter utility shall accept only one user name per named host.

    The qalter utility shall add a value to the User_List attribute of the batch job for each entry in the user_list option-argument. See Section 3.3.3, Multiple Keyword-Value Pairs for a means of removing keyword= value (and value@ keyword) pairs and other general rules for list-oriented batch job attributes.

OPERANDS
The qalter utility shall accept one or more operands that conform to the syntax for a batch job_identifier (see Section 3.3.1, Batch Job Identifier).

STDIN
Not used.

INPUT FILES
None.

ENVIRONMENT VARIABLES
The following environment variables shall affect the execution of qalter:

LANG
    Provide a default value for the internationalization variables that are unset or null. (See the Base Definitions volume of POSIX.1-2017, Section 8.2, Internationalization Variables the precedence of internationalization variables used to determine the values of locale categories.)

LC_ALL
    If set to a non-empty string value, override the values of all the other internationalization variables.

LC_CTYPE
    Determine the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multi-byte characters in arguments).

LC_MESSAGES
    Determine the locale that should be used to affect the format and contents of diagnostic messages written to standard error.

LOGNAME
    Determine the login name of the user.

TZ  Determine the timezone used to interpret the date-time option-argument. If TZ is unset or null, an unspecified default timezone shall be used.

ASYNCHRONOUS EVENTS
Default.

STDOUT
None.

STDERR
The standard error shall be used only for diagnostic messages.

OUTPUT FILES
None.

EXTENDED DESCRIPTION
None.

EXIT STATUS
The following exit values shall be returned:

0   Successful completion.

>0  An error occurred.

CONSEQUENCES OF ERRORS
In addition to the default behavior, the qalter utility shall not be required to write a diagnostic message to standard error when the error reply received from a batch server indicates that the batch job_identifier does not exist on the server. Whether or not the qalter utility attempts to locate the batch job on other batch servers is implementation-defined.

The following sections are informative.

APPLICATION USAGE
None.

EXAMPLES
None.

RATIONALE
The qalter utility allows users to change the attributes of a batch job.

As a means of altering a queued job, the qalter utility is superior to deleting and requeuing the batch job insofar as an altered job retains its place in the queue with some traditional selection algorithms. In addition, the qalter utility is both shorter and simpler than a sequence of qdel and qsub utilities.

The result of an attempt on the part of a user to alter a batch job in a RUNNING state is implementation-defined because a batch job in the RUNNING state will already have opened its output files and otherwise performed any actions indicated by the options in effect at the time the batch job began execution.

The options processed by the qalter utility are identical to those of the qsub utility, with a few exceptions: -V, -v, and -q. The -V and -v are inappropriate for the qalter utility, since they capture potentially transient environment information from the submitting process. The -q option would specify a new queue, which would largely negate the previously stated advantage of using qalter; furthermore, the qmove utility provides a superior means of moving jobs.

Each of the following paragraphs provides the rationale for a qalter option.

Additional rationale concerning these options can be found in the rationale for the qsub utility.

The -a option allows users to alter the date and time at which a batch job becomes eligible to run.

The -A option allows users to change the account that will be charged for the resources consumed by the batch job. Support for the -A option is mandatory for conforming implementations of qalter, even though support of accounting is optional for servers. Whether or not to support accounting is left to the implementor of the server, but mandatory support of the -A option assures users of a consistent interface and allows them to control accounting on servers that support accounting.

The -c option allows users to alter the checkpointing interval of a batch job. A checkpointing system, which is not defined by POSIX.1-2008, allows recovery of a batch job at the most recent checkpoint in the event of a crash. Checkpointing is typically used for jobs that consume expensive computing time or must meet a critical schedule. Users should be allowed to make the tradeoff between the overhead of checkpointing and the risk to the timely completion of the batch job; therefore, this volume of POSIX.1-2017 provides the checkpointing interval option. Support for checkpointing is optional for servers.

The -e option allows users to alter the name and location of the standard error stream written by a batch job. However, the path of the standard error stream is meaningless if the value of the Join_Path attribute of the batch job is TRUE.

The -h option allows users to set the hold type in the Hold_Types attribute of a batch job. The qhold and qrls utilities add or remove hold types to the Hold_Types attribute, respectively. The -h option has been modified to allow for implementation-defined hold types.

The -j option allows users to alter the decision to join (merge) the standard error stream of the batch job with the standard output stream of the batch job.

The -l option allows users to change the resource limits imposed on a batch job.

The -m option allows users to modify the list of points in the life of a batch job at which the designated users will receive mail notification.

The -M option allows users to alter the list of users who will receive notification about events in the life of a batch job.

The -N option allows users to change the name of a batch job.

The -o option allows users to alter the name and path to which the standard output stream of the batch job will be written.

The -P option allows users to modify the priority of a batch job. Support for priority is optional for batch servers.

The -r option allows users to alter the rerunability status of a batch job.

The -S option allows users to change the name and location of the shell image that will be invoked to interpret the script of the batch job. This option has been modified to allow a list of shell name and locations associated with different hosts.

The -u option allows users to change the user identifier under which the batch job will execute.

The job_identifier operand syntax is provided so that the user can differentiate between the originating and destination (or executing) batch server. These may or may not be the same. The .server_name portion identifies the originating batch server, while the @server portion identifies the destination batch server.

Historically, the qalter utility has been a component of the Network Queuing System (NQS), the existing practice from which this utility has been derived.

FUTURE DIRECTIONS
The qalter utility may be removed in a future version.

SEE ALSO
Chapter 3, Batch Environment Services, qdel, qhold, qmove, qrls, qsub, touch

The Base Definitions volume of POSIX.1-2017, Chapter 8, Environment Variables, Section 12.2, Utility Syntax Guidelines

COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1-2017, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html .

Any typographical or formatting errors that appear in this page are most likely to have been introduced during the conversion of the source files to man page format. To report such errors, see https://www.kernel.org/doc/man-pages/reporting_bugs.html .