Provided by: manpages-posix_2017a-2_all bug

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 .