diff options
Diffstat (limited to 'shell/cttyhack.c')
-rw-r--r-- | shell/cttyhack.c | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/shell/cttyhack.c b/shell/cttyhack.c index 9a5f4bb..9004b47 100644 --- a/shell/cttyhack.c +++ b/shell/cttyhack.c @@ -14,45 +14,45 @@ //config: bool "cttyhack (2.5 kb)" //config: default y //config: help -//config: One common problem reported on the mailing list is the "can't -//config: access tty; job control turned off" error message, which typically -//config: appears when one tries to use a shell with stdin/stdout on -//config: /dev/console. -//config: This device is special - it cannot be a controlling tty. +//config: One common problem reported on the mailing list is the "can't +//config: access tty; job control turned off" error message, which typically +//config: appears when one tries to use a shell with stdin/stdout on +//config: /dev/console. +//config: This device is special - it cannot be a controlling tty. //config: -//config: The proper solution is to use the correct device instead of -//config: /dev/console. +//config: The proper solution is to use the correct device instead of +//config: /dev/console. //config: -//config: cttyhack provides a "quick and dirty" solution to this problem. -//config: It analyzes stdin with various ioctls, trying to determine whether -//config: it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line). -//config: On Linux it also checks sysfs for a pointer to the active console. -//config: If cttyhack is able to find the real console device, it closes -//config: stdin/out/err and reopens that device. -//config: Then it executes the given program. Opening the device will make -//config: that device a controlling tty. This may require cttyhack -//config: to be a session leader. +//config: cttyhack provides a "quick and dirty" solution to this problem. +//config: It analyzes stdin with various ioctls, trying to determine whether +//config: it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line). +//config: On Linux it also checks sysfs for a pointer to the active console. +//config: If cttyhack is able to find the real console device, it closes +//config: stdin/out/err and reopens that device. +//config: Then it executes the given program. Opening the device will make +//config: that device a controlling tty. This may require cttyhack +//config: to be a session leader. //config: -//config: Example for /etc/inittab (for busybox init): +//config: Example for /etc/inittab (for busybox init): //config: -//config: ::respawn:/bin/cttyhack /bin/sh +//config: ::respawn:/bin/cttyhack /bin/sh //config: -//config: Starting an interactive shell from boot shell script: +//config: Starting an interactive shell from boot shell script: //config: -//config: setsid cttyhack sh +//config: setsid cttyhack sh //config: -//config: Giving controlling tty to shell running with PID 1: +//config: Giving controlling tty to shell running with PID 1: //config: -//config: # exec cttyhack sh +//config: # exec cttyhack sh //config: -//config: Without cttyhack, you need to know exact tty name, -//config: and do something like this: +//config: Without cttyhack, you need to know exact tty name, +//config: and do something like this: //config: -//config: # exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1' +//config: # exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1' //config: -//config: Starting getty on a controlling tty from a shell script: +//config: Starting getty on a controlling tty from a shell script: //config: -//config: # getty 115200 $(cttyhack) +//config: # getty 115200 $(cttyhack) //usage:#define cttyhack_trivial_usage //usage: "[PROG ARGS]" |