Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ioctl(S)

mkdev(ADM)

sh(C)

signal(S)

stty(C)

sxt(M)


     SHL(C)                               UNIX System V



     Name
          shl - shell layer manager


     Syntax
          shl


     Description
          shl allows a user to interact with more than one shell  from
          a single terminal.  The user controls these shells, known as
          layers, using the commands described below.

          The current layer is the layer that can receive  input  from
          the  keyboard.   Other  layers  attempting  to read from the
          keyboard  are  blocked.   Output  from  multiple  layers  is
          multiplexed  onto  the  terminal.   To  have the output of a
          layer blocked when it is not  current,  the  stty(C)  option
          loblk may be set within the layer.

          The stty character swtch (set to  ^Z  if  NUL)  is  used  to
          switch control to shl from a layer.  shl has its own prompt,
          >>>, to help distinguish it from a layer.

          A layer is a shell that has been  bound  to  a  virtual  tty
          device (/dev/sxt???).  The virtual device can be manipulated
          like a real tty device using  stty(C)  and  ioctl(S).   Each
          layer has its own process group id.


     Definitions
          A name is a sequence of characters delimited by a blank, tab
          or   new-line.    Only   the   first  eight  characters  are
          significant.  The names (1) through (7) cannot be used  when
          creating  a  layer.   They  are  used by shl when no name is
          supplied.  They may be abbreviated to just the digit.


     Commands
          The following commands may be issued  from  the  shl  prompt
          level.  Any unique prefix is accepted.

          create [ name ]
               Create a layer called name  and  make  it  the  current
               layer.   If  no  argument  is  given,  a  layer will be
               created with a name of the form (#) where # is the last
               digit  of  the  virtual device bound to the layer.  The
               shell prompt variable PS1 is set to  the  name  of  the
               layer  followed  by a space, or, if superuser, the name
               followed by a sharp (#) and  a  space.   A  maximum  of
               seven layers can be created.

          block name [ name ... ]
               For each name, block the output  of  the  corresponding
               layer  when  it  is  not  the  current  layer.  This is
               equivalent to setting the stty option loblk within  the
               layer.

          delete name [ name ... ]
               For each name, delete  the  corresponding  layer.   All
               processes  in  the  process group of the layer are sent
               the SIGHUP signal (see signal(2)).

          help (or ?)
               Print the syntax of the shl commands.

          layers [ -l ] [ name ... ]
               For each name, list the  layer  name  and  its  process
               group.   The  -l  option produces a ps(1)-like listing.
               If no arguments are given, information is presented for
               all existing layers.

          resume [ name ]
               Make the layer referenced by name  the  current  layer.
               If  no  argument  is  given,  the last existing current
               layer will be resumed.

          toggle
               Resume the layer  that  was  current  before  the  last
               current layer.

          unblock name  [ name ... ]
               For  each  name,  do  not  block  the  output  of   the
               corresponding  layer  when it is not the current layer.
               This is equivalent to setting  the  stty  option  loblk
               within the layer.

          quit Exit shl.  All layers are sent the SIGHUP signal.

          name Make the layer referenced by name the current layer.

     Files
          /dev/sxt???       Virtual tty devices
          $SHELL            Variable containing path name of the shell
                            to use (default is /bin/sh).


     See Also
          ioctl(S), mkdev(ADM), sh(C), signal(S), stty(C), sxt(M)


     Note
          It is inadvisable to kill shl.

          If shl does not run properly on a particular  terminal,  you
          may  have to set istrip for that terminal's line by entering
          the following command at the terminal:

               stty istrip

          By default, the Operating System is not configured for shell
          layers.  To add this to kernel, use the command:

               mkdev shl

          This executes a script which prompts you for the  number  of
          sessions  desired.  The script also allows you to relink the
          kernel.  The new session limit becomes effective  after  the
          kernel is rebooted.  (For more information, see mkdev(ADM).)


     Standards Conformance
          shl is conformant with:
          AT&T SVID Issue 2, Select Code 307-127;
          and The X/Open Portability Guide II of January 1987.


     (printed 2/15/90)                                     SHL(C)


















































































































































































































































































































































































































































































Typewritten Software • bear@typewritten.org • Edmonds, WA 98026