Your company here — click to reach over 10,000 unique daily visitors

dislocate - Man Page

disconnect and reconnect processes


dislocate [ program args... ]


Dislocate allows processes to be disconnected and reconnected to the terminal. Possible uses:


When run with no arguments, Dislocate tells you about your disconnected processes and lets you reconnect to one. Otherwise, Dislocate runs the named program along with any arguments.

By default, ^] is an escape that lets you talk to Dislocate itself.  At that point, you can disconnect (by pressing ^D) or suspend Dislocate (by pressing ^Z).

Any Tcl or Expect command is also acceptable at this point. For example, to insert the contents of a the file /etc/motd as if you had typed it, say:

     send -i $out [exec cat /etc/motd]

To send the numbers 1 to 100 in response to the prompt "next #", say:

     for {set i 0} {$i<100} {incr i} {
         expect -i $in "next #"
         send -i $out "$i\r"

Scripts can also be prepared and sourced in so that you don't have to type them on the spot.

Dislocate is actually just a simple Expect script.  Feel free to make it do what you want it to do or just use Expect directly, without going through Dislocate. Dislocate understands a few special arguments.  These should appear before any program name.  Each should be separated by whitespace.  If the arguments themselves takes arguments, these should also be separated by whitespace.

The -escape flag sets the escape to whatever follows.  The default escape is ^].


This program was written by the author as an exercise to show that communicating with disconnected processes is easy.  There are many features that could be added, but that is not the intent of this program.

See Also

Tcl(3), libexpect(3)
"Exploring Expect: A Tcl-Based Toolkit for Automating Interactive Programs" by Don Libes, O'Reilly and Associates, January 1995.


Don Libes, National Institute of Standards and Technology


7 October 1993