MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


User Commands                                             jobs(1)



NAME
     jobs, fg, bg, stop, notify - control process execution

SYNOPSIS
  sh
     jobs [-p  -l] [% jobid...]


     jobs -x command [arguments]


     fg [% jobid...]


     bg [% jobid...]


     stop % jobid...


     stop pid...


  csh
     jobs [-l]


     fg [% jobid]


     bg [% jobid]...


     notify [% jobid]...


     stop % jobid...


     stop pid...


  ksh
     jobs [-lnp] [% jobid...]


     fg [% jobid...]


     bg [% jobid...]





SunOS 5.11           Last change: 2 Nov 2007                    1






User Commands                                             jobs(1)



     stop % jobid...


     stop pid...


  ksh93
     jobs [-lnp] [jobid...]


     fg [jobid...]


     bg [jobid...]


DESCRIPTION
  sh
     When Job Control is enabled, the Bourne shell built-in  jobs
     reports  all jobs that are stopped or executing in the back-
     ground. If %jobid is omitted, all jobs that are stopped  or
     running in the background is reported. The following options
     modify or enhance the output of jobs:

     -l    Reports the process group ID and working directory  of
           the jobs.


     -p    Reports only the process group ID of the jobs.


     -x    Replaces any jobid found in command or arguments with
           the  corresponding process group ID, and then executes
           command passing it arguments.



     When the shell is invoked as jsh, Job Control is enabled  in
     addition  to  all  of the functionality described previously
     for sh. Typically Job Control is enabled for the interactive
     shell  only. Non-interactive shells typically do not benefit
     from the added functionality of Job Control.


     With Job Control enabled every command or pipeline the  user
     enters at the terminal is called a jobid. All jobs exist in
     one of  the  following  states:  foreground,  background  or
     stopped. These terms are defined as follows:

         1.   A job in the foreground has read and  write  access
              to the controlling terminal.




SunOS 5.11           Last change: 2 Nov 2007                    2






User Commands                                             jobs(1)



         2.   A job in the background is denied read  access  and
              has  conditional  write  access  to the controlling
              terminal (see stty(1))

         3.   A stopped job is a job that has been  placed  in  a
              suspended  state,  usually as a result of a SIGTSTP
              signal (see signal.h(3HEAD)).


     Every job that the  shell  starts  is  assigned  a  positive
     integer,  called  a  jobid  number  which is tracked by the
     shell and are used as an identifier to indicate  a  specific
     job.  Additionally, the shell keeps track of the current and
     previous jobs. The current job is the most recent job to  be
     started  or  restarted.  The  previous job is the first non-
     current job.


     The acceptable syntax for a Job Identifier is of the form:


     %jobid


     where jobid can be specified in any of the  following  for-
     mats:

     % or ]       for the current job


     -            for the previous job


     ?    specify the job  for  which  the  command  line
                  uniquely contains string.


     n            for job number n, where n is a job number


     pref         where pref is a unique prefix  of  the  command
                  name  (for  example,  if the command ls -l name
                  were running in the  background,  it  could  be
                  referred to as %ls); pref cannot contain blanks
                  unless it is quoted.



     When Job Control is enabled, fg resumes the execution  of  a
     stopped job in the foreground, also moves an executing back-
     ground job into the foreground. If %jobid  is  omitted  the
     current job is assumed.



SunOS 5.11           Last change: 2 Nov 2007                    3






User Commands                                             jobs(1)



     When Job Control is enabled, bg resumes the execution  of  a
     stopped  job  in  the  background. If %jobid is omitted the
     current job is assumed.


     stop stops the execution of a background job(s) by using its
     jobid, or of any process by using its pid; see ps(1).

  csh
     The C shell built-in, jobs, without an argument,  lists  the
     active jobs under job control.

     -l    List process IDs, in addition to the  normal  informa-
           tion.



     The shell associates a numbered  jobid  with  each  command
     sequence to keep track of those commands that are running in
     the background or have been stopped with TSTP signals (typi-
     cally   Control-Z).  When  a  command  or  command  sequence
     (semicolon-separated list)  is  started  in  the  background
     using  the  &  metacharacter, the shell displays a line with
     the job number in brackets and a list of associated  process
     numbers:


     [1] 1234


     To see the current list of jobs, use the jobs built-in  com-
     mand.  The  job most recently stopped (or put into the back-
     ground if none are stopped) is referred to  as  the  current
     job  and  is indicated with a `]'. The previous job is indi-
     cated with a `-'; when the  current  job  is  terminated  or
     moved  to  the foreground, this job takes its place (becomes
     the new current job).


     To manipulate jobs, refer to the bg, fg, kill, stop,  and  %
     built-in commands.


     A reference to a job begins with a `%'. By itself, the  per-
     cent sign refers to the current job.

     % %] %%     The current job.


     %-          The previous job.





SunOS 5.11           Last change: 2 Nov 2007                    4






User Commands                                             jobs(1)



     %j          Refer to job j as in: `kill -9 %j'. j can  be  a
                 job  number, or a string that uniquely specifies
                 the command line by which it  was  started;  `fg
                 %vi'  might  bring a stopped vi job to the fore-
                 ground, for instance.


     %?string    Specify the  job  for  which  the  command  line
                 uniquely contains string.



     A job running in the background stops when  it  attempts  to
     read from the terminal. Background jobs can normally produce
     output, but this can be suppressed using the  `stty  tostop'
     command.


     fg brings the current or specified  jobid  into  the  fore-
     ground.


     bg runs the current or specified jobs in the background.


     stop stops the execution of a background job(s) by using its
     jobid, or of any process by using its pid; see ps(1).


     notify notifies the user asynchronously when the  status  of
     the current job or specified jobs changes.

  ksh
     jobs displays the status of the jobs that  were  started  in
     the  current shell environment. When jobs reports the termi-
     nation status of a job, the shell  removes  its  process  ID
     from  the list of those known in the current shell execution
     environment.


     jobid specifies the jobs for which  the  status  is  to  be
     displayed. If no jobid is specified, the status information
     for all jobs are displayed.


     The following options modify or enhance the output of jobs:

     -l    (The letter ell.) Provides more information about each
           job  listed. This information includes the job number,
           current job, process group ID, state and  the  command
           that formed the job.




SunOS 5.11           Last change: 2 Nov 2007                    5






User Commands                                             jobs(1)



     -n    Displays only jobs that have stopped or  exited  since
           last notified.


     -p    Displays only the process IDs for  the  process  group
           leaders of the selected jobs.



     By default, jobs displays the  status  of  all  the  stopped
     jobs, running background jobs, and all jobs whose status has
     changed and have not been reported by the shell.


     If the monitor option of the set command is  turned  on,  an
     interactive  shell  associates  a job with each pipeline. It
     keeps a table of current jobs, printed by the jobs  command,
     and  assigns  them  small  integer  numbers.  When  a job is
     started asynchronously with &, the shell prints a line which
     looks like:


     [1] 1234


     indicating that the job, which was  started  asynchronously,
     was job number 1 and had one (top-level) process, whose pro-
     cess id was 1234.


     If you are running a job and wish to do something  else  you
     can  hit the key ^Z (Control-Z) which sends a STOP signal to
     the current job. The shell then normally indicates that  the
     job has been "Stopped" (see OUTPUT below), and print another
     prompt. You can then manipulate the state of this job,  put-
     ting  it  in the background with the bg command, or run some
     other commands and then eventually bring the job  back  into
     the  foreground  with  the foreground command fg. A ^Z takes
     effect immediately and is like an interrupt, in that pending
     output and unread input are discarded when it is typed.


     There are several ways to refer to jobs in the shell. A  job
     can  be  referred to by the process id of any process of the
     job or by one of the following:

     %number     The job with the specified number.


     %string     Any job whose command line begins  with  string;
                 works only in the interactive mode when the his-
                 tory file is active.



SunOS 5.11           Last change: 2 Nov 2007                    6






User Commands                                             jobs(1)



     %?string    Any job  whose  command  line  contains  string;
                 works only in the interactive mode when the his-
                 tory file is active.


     %%          Current job.


     %]          Equivalent to %%.


     %-          Previous job.



     The shell learns  immediately  whenever  a  process  changes
     state.  It  normally  informs  you  whenever  a  job becomes
     blocked so that no further progress is  possible,  but  only
     just before it prints a prompt. This is done so that it does
     not otherwise disturb your work. When the  monitor  mode  is
     on, each background job that completes triggers any trap set
     for CHLD. When you try to leave the  shell  while  jobs  are
     running  or  stopped,  you are warned that `You have stopped
     (running) jobs.' You can use the jobs command  to  see  what
     they  are.  If you do this or immediately try to exit again,
     the shell does not warn you a second time, and  the  stopped
     jobs are terminated.


     fg moves a background job from the current environment  into
     the  foreground.  Using  fg to place a job in the foreground
     removes its process ID from the list of those known  in  the
     current  shell  execution  environment.  The  fg  command is
     available only on  systems  that  support  job  control.  If
     jobid is not specified, the current job is brought into the
     foreground.


     bg resumes suspended jobs from the  current  environment  by
     running  them  as  background  jobs. If the job specified by
     jobid is already a running background job, bg has no effect
     and  exits  successfully.  Using  bg to place a job into the
     background causes its process ID to  become  `known  in  the
     current  shell  execution  environment,  as  if  it had been
     started as an asynchronous list. The bg command is available
     only  on  systems that support job control. If jobid is not
     specified, the current job is placed in the background.


     stop stops the execution of a background job(s) by using its
     jobid, or of any process by using its pid. See ps(1).




SunOS 5.11           Last change: 2 Nov 2007                    7






User Commands                                             jobs(1)



  ksh93
     jobs displays information about  specified  jobs  that  were
     started by the current shell environment on standard output.
     The information contains the job number enclosed  in  [...],
     the status, and the command line that started the job.


     If jobid is  omitted,  jobs  displays  the  status  of  all
     stopped jobs, background jobs, and all jobs whose status has
     changed since last reported by the shell.


     When jobs reports the termination status of a job, the shell
     removes  the  job from the list of known jobs in the current
     shell environment.


     The following options modify or enhances the output of jobs:

     -l    Displays process IDs after the job number in  addition
           to the usual information.


     -n    Displays only the jobs whose status has changed  since
           the last prompt was displayed.


     -p    Displays the process group leader IDs for  the  speci-
           fied jobs.



     jobid can be specified to jobs, fg, and bg as  one  of  the
     following:

     number      The process id of job.


     -number     The process group id of job.


     %number     The job number.


     %string     The job whose name begins with string.


     %?string    The job whose name contains string.


     %]
     %%



SunOS 5.11           Last change: 2 Nov 2007                    8






User Commands                                             jobs(1)



                 The current job.


     %-          The previous job.



     fg places the specified jobs into the foreground in sequence
     and  sends a CONT signal to start each running. If jobid is
     omitted, the most recently started or stopped background job
     is moved to the foreground.


     bg places the specified jobs into the background and sends a
     CONT signal to start them running. If jobid is omitted, the
     most recently started or stopped background job  is  resumed
     or continued in the background.

OUTPUT
     If the -p option is specified, the output  consists  of  one
     line for each process ID:


     "%d\n", "process ID"


     Otherwise, if the -l option is not specified, the output  is
     a series of lines of the form:


     "[%d] %c %s %s\n", job-number, current, state, command


     where the fields are as follows:

     current       The character ] identifies the job that  would
                   be  used  as  a  default for the fg or bg com-
                   mands. This job can also  be  specified  using
                   the  jobid %] or %% . The character - identi-
                   fies the job that would become the default  if
                   the current default job were to exit; this job
                   can also be specified using the  jobid  %-  .
                   For  other jobs, this field is a space charac-
                   ter. At most, one job can be identified with ]
                   and  at most one job can be identified with -.
                   If  there  is  any  suspended  job,  then  the
                   current  job  is a suspended job. If there are
                   at least two suspended jobs, then the previous
                   job is also a suspended job.






SunOS 5.11           Last change: 2 Nov 2007                    9






User Commands                                             jobs(1)



     job-number    A number that can be used to identify the pro-
                   cess group to the wait, fg, bg, and kill util-
                   ities. Using these utilities, the job  can  be
                   identified by prefixing the job number with %.


     state         One of the  following  strings  in  the  POSIX
                   Locale:

                   Running             Indicates that the job has
                                       not  been  suspended  by a
                                       signal and has not exited.


                   Done                Indicates  that  the   job
                                       completed   and   returned
                                       exit status zero.


                   Done(code)          Indicates  that  the   job
                                       completed   normally   and
                                       that it  exited  with  the
                                       specified   non-zero  exit
                                       status, code, expressed as
                                       a decimal number.


                   Stopped             Indicates that the job was
                                       stopped.


                   Stopped(SIGTSTP)    Indicates that the job was
                                       suspended  by  the SIGTSTP
                                       signal.


                   Stopped(SIGSTOP)    Indicates that the job was
                                       suspended  by  the SIGSTOP
                                       signal.


                   Stopped(SIGTIN)    Indicates that the job was
                                       suspended  by  the SIGTIN
                                       signal.


                   Stopped(SIGTOU)    Indicates that the job was
                                       suspended  by  the SIGTOU
                                       signal.

                   The implementation can substitute  the  string
                   Suspended  in place of Stopped. If the job was



SunOS 5.11           Last change: 2 Nov 2007                   10






User Commands                                             jobs(1)



                   terminated by a signal, the format of state is
                   unspecified,  but  it is visibly distinct from
                   all of the other state formats shown here  and
                   indicates  the name or description of the sig-
                   nal causing the termination.


     command       The associated command that was  specified  to
                   the shell.



     If the -l option is specified, a field containing  the  pro-
     cess group ID is inserted before the state field. Also, more
     processes in a process  group  can  be  output  on  separate
     lines, using only the process ID and command fields.

ENVIRONMENT VARIABLES
     See environ(5) for descriptions of the following environment
     variables  that  affect  the  execution of jobs, fg, and bg:
     LANG, LCAL, LCTYPE, LCMESAGES, and NLSPATH.

EXIT STATUS
  sh, csh, ksh
     The following exit values are returned for jobs, fg, and bg:

     0     Successful completion.


     >0    An error occurred.


  ksh93
     The following exit values are returned for jobs:

     0     The information for each job is  written  to  standard
           output.


     >0    One or more jobs does not exist.



     The following exit values are returned for fg:

     exit status of last job    One or more jobs has been brought
                                into the foreground.


     non-zero                   One or more jobs does  not  exist
                                or has completed.




SunOS 5.11           Last change: 2 Nov 2007                   11






User Commands                                             jobs(1)



     The following exit values are returned for bg:

     0     All background jobs are started.


     >0    One more jobs does not exist or  there  are  no  back-
           ground jobs.


ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:

  csh, sh, ksh
     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Availability                 SUNWcsu                     
    
     Interface Stability          Committed                   
    
     Standard                     See standards(5).           
    


  ksh93
     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Availability                 SUNWcsu                     
    
     Interface Stability          Uncommitted                 
    


SEE ALSO
     csh(1), kill(1), ksh(1), ksh93(1),  ps(1),  sh(1),  stop(1),
     shellbuiltins(1), stty(1), wait(1), signal.h(3HEAD), attri-
     butes(5), environ(5), standards(5)
















SunOS 5.11           Last change: 2 Nov 2007                   12



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™