on rc.sysinit there is a posible "race condition" between calling getkey (for interactive startup) and killing getkey (before starting selected runlevel scripts) a snip of the rc.sysinit is shown below { # Clean up utmp/wtmp >/var/run/utmp touch /var/log/wtmp chgrp utmp /var/run/utmp /var/log/wtmp ... kill -TERM `/sbin/pidof getkey` >/dev/null 2>&1 }& if [ "$PROMPT" != "no" ]; then /sbin/getkey i && touch /var/run/confirm fi wait as you can see, if the code between the {} runs too fast, you could end with an stalled "getkey" waiting forever for input (as i have experienced on some Compaq Dual Processor, Hardware RAID servers like Proliant DL360 and DL380). after testing with bash1 and bash2 scripts there seems to be at least a needed 1 second delay before the kill is reached for getting a successfull kill of getkey (running on different threads of the same script) getkey from initscripts-5.49 has a timeout parameter that could be used to avoid this "race condition", so a patch would be needed to upgrade getkey and to use the timeout parameter on rc.sysinit both patches are attached and a "proof of concept" is available from : ftp://sajino.terra.com.pe/pub/linux/redhat/carenas/6.2/initscripts-5.00-3.i386.rpm thanks goes to Sandro Jurado from Compaq for pushing on the right direction and away from a problem on their Compaq Smart Array Adapter ;)
Created attachment 3563 [details] getkey patch for timeout parameter (taken from 5.49)
Created attachment 3564 [details] adding a PROMPT_DELAY option to initscript
*** Bug 17817 has been marked as a duplicate of this bug. ***
changed to private as there is a reference to a private bug
sleep added as of initscripts-5.60-1.