Most programs in *nix-land take their options via the command line or through a configuration file. However, there are a few programs that do not have any such option, and will resort to interacting with the user.

For many cases, where the responses are known beforehand, or can be determined automatically, this is often automated using redirections, piping, and expect scripts.

However, there are other programs where responses cannot be predetermined in this way. A program that asks for a password, or a program asking some specific questions regarding the setup of a program (which may not be known beforehand) are examples of programs that fall into the "cannot be automated" zone. Programs that base themselves on dialog can also be thought of as belonging to this category, since it is too dangerous to automate field-switching by using expect scripts.

In addition, these programs, once finished with their interactive process, will return back to a non-interactive mode of operation for long periods of time before interacting with the user again.

Is there a way I could configure programs to alert the user (for example, by playing a sound of some kind) that the program has entered an interactive state and is waiting for user input?

  • 1
    If you put the program in the background (bg) then they should get a signal (SIGTTIN or SIGTTOU) as soon as they attempt to interact with the tty. You could catch that, maybe? – Celada Mar 28 '16 at 14:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.