$BatchInput is True if input in the current session is being fed directly to the Mathematica kernel in batch mode.
$BatchInput is True if input is being taken from a file.
$BatchInput can be reset during a Mathematica session.
When $BatchInput is True, Mathematica terminates if it ever receives an interrupt, does not discard input when blank lines are given, and terminates when it receives end-of-file.
See The Mathematica Book: Section 2.13.5.
See also: $IgnoreEOF, $BatchOutput, $Linked, $Notebooks.