SYNOPSIS

retty [-v] [-h] [-0 fd] [-1 fd] [-2 fd] PID

DESCRIPTION

retty is a simple tool which will let you attach process currently running on another terminal. Unlike screen, you need to make no special provisions in advance - just get the process' pid and attach it anytime.

Non-violently killing retty should provide for a proper detach - after that, the process can be used on the original terminal again (multiple subsequent retty attachments of a single process are possible, but the process does I/O only on the last one).

You can also use escape sequences to detach a process and possibly do other things. The escape character is "`" (lowercase of "~") and "`h" will give you list of possible escape sequences. The escape character must be immediately preceded by an enter.

By default, retty attaches file descriptors 0, 1 and 2 of process. That should be enough in most cases, but will not do in some special ones. In such case, you have to check /proc/<PID>/fd and force retty to attach correct file descriptors instead.

OPTIONS

-v

Display version information.

-h

Display usage information.

-0 fd

Specify file descriptor that process we want to attach uses as input. Default value is 0 (stdin).

-1 fd

Specify file descriptor that process we want to attach uses as output. Default value is 1 (stdout).

-2 fd

Specify file descriptor that process we want to attach uses for error outputs. Default value is 2 (stderr).

PID

PID of process that we want to attach. If retty is run as ordinary user, it can attach only processes owned by that user. If run as root, retty can attach probably anything (not always good idea).

BUGS

  • retty is x86-specific and works only on Linux.

  • The attached process' controlling terminal is not switched appropriately, which causes many funny effects (e.g. mutt not properly adjusting for your window size, but this can be fixed by going into editor and back), annoying bugs (ctrl+c not delivered properly) and totally breaking attaching for some applications (OpenSSH).

  • If you attach bash it imagines EOF on stdin. Attaching and detaching multiple times without any activity in the meantime will cause it to die.

  • Attempts to attach less just don't work even with input fd override. This might or might not be fixed in the future, depending on cause (which is unknown now).

RELATED TO retty…