Linux Kill and Logout Users Command

S how do you kill a Linux user login session? Yet another newbie question that suggests sysadmin/people love to kill and show their power to the rest of the world. There is a package called procps. It includes various useful and nifty utilities. One of such utility is skill which is responsible to send a signal to users and process such as:

  • Halt user terminal
  • Kill user and logout


Linux Kill and Logout Users Command

The procps package contains utilities to browse the /proc/ filesystem, which is not a real file system but a way for the kernel to provide information about the status of entries in its process table. Procps includes the ps command, free command, skill command, pkill command, pgrep command, snice command, tload command, top command, uptime command, vmstat command, w command, watch command and pwdx command.

WARNING: Do not kill the process owned by the root user (UID 0) or PID 1. Keep in mind that killing necessary processes such as sshd or nfsd or httpd may result in the system downtown. Be careful with all commands. Think twice before entering any of the following commands.

How To Halt/Stop a User Called vivek on Linux

Open a command-line terminal (select Applications > Accessories > Terminal), and then type the following commands. First, switch to the root user by typing the su - and entering the root password, when prompted (you can also use the sudo command if configured on your machine). Type the skill command as follows:
# skill -STOP -u vivek
The skill command sends a terminate command (or another specified signal) to a specified set of processes.

Resume Halted User Called vivek in Liuux

Send CONT single to user vivek, type the following command:
# skill -CONT -u vivek

Kill and Logout a User Called vivek under Linux

You can send KILL single, type the following command:
# skill -KILL -u vivek

Kill and Logout All Users

The ultimate command to kill and logout all users is as follows:
# skill -KILL -v /dev/pts/*

WARNING! These tools are obsolete, unportable and it is here due to historical reasons. Consider using the killall, pkill, and pgrep commands instead as follows.

The pkill command

To halt or stop a user called vivek, enter:
# pkill -STOP -u vivek
Say you want to resume a user called vivek who was halted previously by the pkill command, enter:
# pkill -CONT -u vivek
Finally kill all php-cgi process owned by vivek user, enter:
# pkill -KILL -u vivek php-cgi

How to kill a Linux login session remotely

We can kill a Linux login session remotely by sending a hangup signal (SIGHUP) to the process running the login session. Typically BASH or KSH shell runs the login session. First, find out your current tty as we need to avoid killing ourselves. Type the tty command and press the [Enter] key:
# tty
Say you want to see all of the running processes of a user named wendy, enter:
# ps -fu {userNameHere}
# ps -fu wendy

Look for the PID (process ID) in the second column. The sixth column shows the TTY to which your processes are connected. The last column gives a process name, which is a login shell. Finally, we are going to remove the remote shell. You must look for the shell PID and choose the PID that is not for your current tty and type:
# kill -HUP {PID}
# kill -HUP 25250

Other useful nifty utilities provided by procps package

  • w command : Show who is logged on and what they are doing.
  • kill command : Send signal to a process (explains how to kill process under Linux)
  • top command : Display Linux tasks and other important stuff
  • vmstat command : Display virtual memory statistics.
  • free command : Display free and used memory (RAM) statistics.
  • slabtop command : Display kernel slab cache information in real time.

Conclusion

We cannot kill processes that are running on a Linux server other than the one you are logged into right now. For other remote Linux servers first, ssh into that box and run the above commands to kill users and log out of the systems. Set TMOUT to automatically log users out after a period of inactivity. See how to automatically logout BASH / TCSH / SSH users after a period of inactivity for more info.

🐧 If you liked this page, please support my work on Patreon or with a donation.
🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source & DevOps topics via:
CategoryList of Unix and Linux commands
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
40 comments… add one
  • lol Feb 7, 2017 @ 16:04

    Fucking idiot. I should’ve read the comments. But honestly you need to specify shit like this. I ran the said command to kill a user with uid0 and gid0 that was a different username (not root) and now my box has no ssh. Fuck off. I hope nobody tries to do what I did.

  • Gustavo Arnosti Neves Sep 30, 2016 @ 10:31

    Based on some examples here and around I ended up cooking this interactive script to manage ssh sessions.

    It is called kick.sh.
    https://github.com/tavinus/kick.sh

    Could still use some additions, but works fine for me.
    Hope it is useful for others too.
    But be careful when kicking people around. 🙂

  • Anon May 4, 2016 @ 17:47

    Root is the top level of the administrative hierarchy, you cannot skill / pkill root unless you are root then your killing yourself – DUMMY

  • Anon May 4, 2016 @ 17:46

    cilgin_dj_hore Dude, if you have no CLUE what your doing stick WITH WINDOWS

  • chika Aug 29, 2014 @ 7:34

    pkill -9 -u ardi

  • cilgin_dj_hore Apr 28, 2014 @ 16:01

    aq ibneleri hey dude this fucking code skill -STOP -u root fucked my machine . i di o T

  • PVIBES Mar 7, 2013 @ 20:37

    I found this guys.
    Just replace USERNAME with the desired user session to be killed.

    kill -1 `ps ax | grep -i USERNAME | grep -i priv | cut -d ” ” -f 1`

    • Jouni "rautamiekka" Järvinen Dec 5, 2016 @ 20:56

      Whatever you do, -don’t- run that command with §root§ as the username !

  • Daniel Vieceli Mar 13, 2012 @ 2:06

    Thanks, very good.

  • Mehdi Sep 8, 2011 @ 14:22

    Hi,

    If all the sessions have been made by a user, i.e. vivek, is it possible to kill a session based on TTY?

  • Naresh Kumar May 26, 2011 @ 12:19

    @ Vishnu,

    You can use following command.
    who -w|awk ‘{print $1}’|grep username|xargs skill -KILL -u

  • Vishnu Ram May 26, 2011 @ 9:04

    Hello,

    I need to kill an user session which is not being used by that particular user for last 10 days. Please help me to get a script for that.

  • Mish Mar 9, 2011 @ 13:12

    I wanna know, how to block the users being ruining programs in bios level.
    this is like blocking websites for various users in bios level.

    ex; user “A” logging and browse internet (www.google.com)
    after user “B” logging and browse the internet BUT HE CANT GO TO “www.google.com” from any browser.

    If you all have a suggestions how to block this kind of a session, I would be much appreciated.

    Tx

    • Jouni "rautamiekka" Järvinen Dec 5, 2016 @ 20:52

      For the future: you seem to have a misunderstanding. BIOS is used to boot your computer to the point of capable executing the operating system, therefore saying you wanna use BIOS for that is completely wrong, it’s not possible. There are various ways to do what you want (or at least try to), but what it involves depends on the method.

  • Bilal Bhat Nov 28, 2010 @ 7:27

    Brilliant bishnoink, you made my life easy… Thanks for sharing the command…

Leave a Reply

Your email address will not be published. Required fields are marked *

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.