diff options
-rw-r--r-- | include/usage.h | 12 | ||||
-rw-r--r-- | shell/Config.in | 15 |
2 files changed, 23 insertions, 4 deletions
diff --git a/include/usage.h b/include/usage.h index 9d9ad008b..be52f187f 100644 --- a/include/usage.h +++ b/include/usage.h @@ -649,8 +649,16 @@ "\n -S SALT" \ ) \ -#define cttyhack_trivial_usage NOUSAGE_STR -#define cttyhack_full_usage "" +#define cttyhack_trivial_usage \ + "PROG ARGS" +#define cttyhack_full_usage "\n\n" \ + "Give PROG a controlling tty if possible." \ + "\nExample for /etc/inittab (for busybox init):" \ + "\n ::respawn:/bin/cttyhack /bin/sh" \ + "\nGiving controlling tty to shell running with PID 1:" \ + "\n $ exec cttyhack sh" \ + "\nStarting an interative shell from boot shell script:" \ + "\n setsid cttyhack sh" \ #define cut_trivial_usage \ "[OPTIONS] [FILE]..." diff --git a/shell/Config.in b/shell/Config.in index 3b1650615..36a931715 100644 --- a/shell/Config.in +++ b/shell/Config.in @@ -354,9 +354,20 @@ config CTTYHACK It analyzes stdin with various ioctls, trying to determine whether it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line). If it detects one, it closes stdin/out/err and reopens that device. - Then it executes given program. Usage example for /etc/inittab - (for busybox init): + Then it executes given program. Opening the device will make + that device a controlling tty. This may require cttyhack + to be a session leader. + + Example for /etc/inittab (for busybox init): ::respawn:/bin/cttyhack /bin/sh + Giving controlling tty to shell running with PID 1: + + $ exec cttyhack sh + + Starting an interative shell from boot shell script: + + setsid cttyhack sh + endmenu |