|
If a user tries to log out and gets a Not login shell
message, it means just that:
the user tried to log out of a
shell that is not the one he or she logged in to.
The most
frequent causes of this are that the user used "script" and
forgot to exit, or tried to "logout" from a Xterm window. If
they want to quit that shell, they can use "exit" which quits
out of any shell. If they want to logout, they can just
repeatedly used exit. Each time they exit they will either be
put back into another shell (which they then exit again) or
will be logged out when they exit the login shell.
What the "script" program does, as well as the Xterm windows,
is fire up a background shell and puts you in the background
shell. A background process is any process that does not
tie up the shell you launched the program from. Script puts
you in /bin/sh, so don't use any full screen editors -- it
won't like it. Xterm windows, while they have their own tty
associated with them and can take user input (not to mention
launch other jobs possibly in the background) are considered
background processes because the shell they were launched
from -- your login shell -- is not tied up; i.e. it can still
accept user input.
You can alternatively kill these processes by using the
"kill" command. Note: it is very unwise to kill the script
process. The reasons why are left to the curious cats among
us. Kill can be used in two forms:
kill -9 <process id>, where <process id> is given by the "ps" command
kill %<jobname>, where <jobname> is given by the "jobs" shell command.
The difference between process id and jobname is process id
is a globally accessible value, and jobname is only for the
shell that launched the process.
|