[general] Background Jobs on UNIX: use and abuse of "&"

david@utzoo.UUCP (David Trueman) (09/23/83)

As some people are already aware, most commands on UNIX can  be  run  `in  the
background'  by  putting  an  ampersand  (&)  on the end of the command.  This
causes the command to start executing as usual, but the user is  then  allowed
to  type more commands without waiting for the `background' command to finish.
One can, for example, submit one file for printing and go on to  edit  another
file.   Another use might be to print a long file and sign off immediately; in
this case, you should use the "nohup" prefix to make  sure  that  the  command
will continue to run after you sign off (this is _n_o_t guaranteed otherwise):

     nohup ms -p lpr paper &

("Nohup" is short for "no hangup", meaning that the command runs  on  even  if
the user disconnects from the system.)

While this capability can be most useful, it can be (and has been) abused.  It
_i_s  possible  to  run  several  _m_s's or _f_o_r_m_a_t's at the same time in the back-
ground, but there is NO POINT in doing this.  Simultaneous  _f_o_r_m_a_t's  or  _m_s's
are  actually  _s_l_o_w_e_r  than  they would be if done one at a time, because they
fight each other for system resources.  Moreover, this tends to make the  sys-
tem  intolerably  slow  for  other users.  People who do this can expect to be
charged extra -- a lot extra -- for their antisocial  habits,  and  persistent
offenders  may  lose  their Unix accounts altogether.  There are (more compli-
cated) ways of doing the same thing without the undesirable side effects; come
see us if you need the details.