dtach - simple program that emulates the detach feature of
  screen.
dtach -a <socket> <options>
  
  dtach -A <socket> <options> <command...>
  
  dtach -c <socket> <options> <command...>
  
  dtach -n <socket> <options> <command...>
  
  dtach -N <socket> <options> <command...>
  
  dtach -p <socket>
dtach is a program that emulates the detach feature of
    screen. It is designed to be transparent and un-intrusive; it avoids
    interpreting the input and output between attached terminals and the program
    under its control. Consequently, it works best with full-screen applications
    such as emacs.
dtach is intended for users who want the detach feature of
    screen without the other overhead of screen. It is tiny, does not use many
    libraries, and stays out of the way as much as possible.
A session in dtach is a single instance in which a program
    is running under the control of dtach. The program is disassociated
    from the original terminal, and is thus protected from your original
    terminal being disconnected for some reason.
Other instances of dtach can attach themselves to a
    particular session. Input and output is copied between the program running
    in the dtach session, and the attached terminals.
dtach avoids interpreting the communication stream between
    the program and the attached terminals; it instead relies on the ability of
    the attached terminals to manage the screen.
Sessions are represented by Unix-domain sockets in the filesystem.
    No other permission checking other than the filesystem access checks is
    performed. dtach creates a master process that monitors the session
    socket, the program, and any attached terminals.
dtach has several modes of operation. It can create a new
    session in which a program is executed, or it can attach to an existing
    session. The first argument specifies which mode dtach should operate
    in.
  - -a
- Attach to an existing session. dtach attaches itself to the session
      specified by <socket>. After the attach is completed, the
      window size of the current terminal is sent to the master process, and a
      redraw is also requested.
- -A
- Attach to an existing session, or create a new one. dtach first
      tries to attach to the session specified by <socket> if
      possible. If the attempt to open the socket fails, dtach tries to
      create a new session before attaching to it.
- -c
- Creates a new session. A new session is created in which the specified
      program is executed. dtach then tries to attach itself to the newly
      created session.
- -n
- Creates a new session, without attaching to it. A new session is created
      in which the specified program is executed. dtach does not try to
      attach to the newly created session, however, and exits instead.
- -N
- Creates a new session, without attaching to it or daemonizing. A new
      session is created in which the specified program is executed.
      dtach does not try to attach to the newly created session, however,
      and will stay in the foreground until the program exits.
- -p
- Copies the contents of standard input to a session. dtach connects
      to the session specified by <socket>, copies the contents of
      standard input to the session, and then exits. dtach will not scan the
      input for a detach character.
    
  
dtach has a few options that allow you to modify its
    behavior. Each attaching process can have separate settings for these
    options, which allows for some flexibility.
  - -e
    <char>
- Sets the detach character to <char>. When the detach
      character is pressed, dtach detaches itself from the current
      session and exits. The process running in the session is unaffected by the
      detach. By default, the detach character is set to ^\ (Ctrl-\).
    
  
- -E
- Disables the detach character. dtach does not try to scan input
      from the terminal for a detach character. The only way to detach from the
      session is then by sending the attaching process an appropriate signal.
    
  
- -r
    <method>
- Sets the redraw method to <method>. The valid methods are
      none, ctrl_l, or winch.
    none disables redrawing completely, ctrl_l sends
        a Ctrl L character to the program if the terminal is in
        character-at-a-time and no-echo mode, and winch forces a WINCH
        signal to be sent to the program. When creating a new session, the specified method is used as
        the default redraw method for the session. If not specified, the
        ctrl_l method is used. 
- -z
- Disables processing of the suspend key. Normally, dtach will
      suspend itself when the suspend key is pressed. With this option, the
      suspend character is sent to the session instead of being handled by
      dtach.
    
  
The following example creates a new session that has the detach
    character and suspend processing disabled. A socket is created in the /tmp
    directory for the session.
   $ dtach -c /tmp/foozle -Ez bash
The following example attaches to the /tmp/foozle session if it
    exists, and if not, creates a new session using /tmp/foozle as the socket
    for the session. Processing of the suspend character is also disabled for
    the attach instance.
   $ dtach -A /tmp/foozle -z bash
The following example attaches to the /tmp/foozle session, using
    the winch redraw method to redraw the screen.
   $ dtach -a /tmp/foozle -r winch
The following example creates a new session and sets the default
    redraw method for the session to the winch redraw method.
   $ dtach -c /tmp/foozle -r winch bash
Ned T. Crigler <crigler@users.sourceforge.net>.