Kill a Unix login session remotely

You can kill a Unix login session remotely by sending a hangup signal (SIGHUP) to the process running the login session. To do this, follow the steps below:

  1. Identify the shell you want to kill. To determine your current tty, from your Unix shell prompt, enter:
  2. To show all of your running processes, enter:
     ps -fu username
    Replace username with your username.
  3. You should see something like this:
     PID TT STAT TIME COMMAND 13964 v5 I 0:00 elm 13126 ue S 0:00 -bash (bash) 13133 ue R 0:00 ps x 13335 v5 S 0:00 -bash (bash)

    In the first column, "PID" stands for "process ID". The second column shows the tty to which your processes are connected. The dash (-) before a process name shows that the process is a login shell.

  4. To remove the remote shell, look for the processes with a dash and choose the process number that is not for your current tty. Then issue the following command:
     kill -HUP processid
    Replace processid with the process ID number you identified.

When you send a SIGHUP (by entering kill -HUP or kill -1) to a login shell, all the processes that were started in the shell will be killed as well (unless they were in the background). SIGHUP is good because it allows applications like Elm and Emacs to exit gracefully, leaving your files intact.

You cannot kill processes that are running on a computer other than the one you are logged into. This rule extends to individual nodes within clusters of Unix systems as well.

At Indiana University, for personal or departmental Linux or Unix systems support, see Get help for Linux or Unix at IU.

This is document adqw in the Knowledge Base.
Last modified on 2019-06-18 14:43:58.