Linux 终止并注销用户命令
S如何终止 Linux 用户登录会话?又一个新手问题,表明系统管理员/人们喜欢终止会话并向世界展示自己的力量。有一个名为procps的软件包。它包含各种有用且漂亮的实用程序。其中一个实用程序是skill,它负责向用户和进程发送信号,例如:
- 停止用户终端
- 终止用户并注销
Linux 终止并注销用户命令
procps 软件包包含用于浏览 /proc/ 文件系统的实用程序,它不是真正的文件系统,而是内核提供有关其进程表中条目状态信息的一种方式。Procps 包括 ps 命令、free 命令、skill 命令、pkill 命令、pgrep 命令、snice 命令、tload 命令、top 命令、uptime 命令、vmstat 命令、w 命令、watch 命令和pwdx 命令。
警告!不要终止 root 用户(UID 0)或 PID 1 拥有的进程。请记住,终止必要的进程(如 sshd 或 nfsd 或 httpd)可能会导致系统停机。谨慎使用所有命令。在输入以下任何命令之前请三思。
查找当前登录系统的用户
使用w命令或者who命令如下:
还可以看到名为vivek的用户启动的进程:
$ w
$ who
$ sudo ps -U vivek
如何在 Linux 上暂停/停止名为 vivek 的用户
打开命令行终端(选择“应用程序”>“附件”>“终端”),然后键入以下命令。首先,通过键入切换到 root 用户,su -并在出现提示时输入 root 密码(如果您的机器上已配置 sudo 命令,也可以使用 sudo 命令)。键入 skill 命令,如下所示:
# skill -STOP -u vivek
skill 命令向指定的一组进程发送终止命令(或其他指定信号)。
恢复 Liuux 中被叫停的用户 vivek
发送CONT单给用户vivek,输入以下命令:
# skill -CONT -u vivek
在 Linux 下杀死并注销名为 vivek 的用户
你可以发送KILL单,输入以下命令:
# skill -KILL -u vivek
终止并注销所有用户
终止并注销所有用户的最终命令如下:
# skill -KILL -v /dev/pts/*
pkill 命令
要暂停或停止名为 vivek 的用户,请输入:
# pkill -STOP -u vivek
假设您要恢复先前通过 pkill 命令暂停的名为 vivek 的用户,请输入:
# pkill -CONT -u vivek
最后,终止 vivek 用户拥有的所有 php-cgi 进程,请输入:
# pkill -KILL -u vivek php-cgi
如何远程终止 Linux 登录会话
我们可以通过向运行登录会话的进程发送挂断信号 (SIGHUP) 来远程终止 Linux 登录会话。通常,BASH 或 KSH shell 运行登录会话。首先,找出你当前的 tty,因为我们需要避免自杀。输入 tty 命令并按下[Enter]键:
# tty
假设你想查看名为 wendy 的用户的所有正在运行的进程,请输入:
在第二列中查找 PID(进程 ID)。第六列显示你的进程所连接的 TTY。最后一列给出了一个进程名称,它是一个登录 shell。最后,我们要删除远程 shell。你必须查找 shell PID 并选择不适用于你当前 tty 的 PID,然后输入:
# ps -fu {userNameHere}
# ps -fu wendy
# kill -HUP {PID}
# kill -HUP 25250
在 Linux 中强制注销用户
使用如下killall命令强制注销Linux用户:
$ sudo killall -u userName
$ sudo killall -u tony
procps 包提供的其他实用工具
- w 命令:显示谁登录了以及他们正在做什么。
- kill 命令:向进程发送信号(解释如何在 Linux 下杀死进程)
- top 命令:显示 Linux 任务和其他重要内容
- vmstat 命令:显示虚拟内存统计信息。
- free 命令:显示可用和已用内存(RAM)统计信息。
- slabtop命令:实时显示内核slab缓存信息。
结论
我们无法终止除您当前登录的 Linux 服务器之外的其他 Linux 服务器上运行的进程。对于其他远程 Linux 服务器,请先通过 ssh 进入该服务器并运行上述命令以终止用户并注销系统。设置TMOUT 以在一段时间不活动后自动注销用户。有关更多信息,请参阅如何在一段时间不活动后自动注销 BASH / TCSH / SSH 用户。请使用 man 命令或 help 命令阅读以下手册页:
$ man pkill
$ man kill
$ man killall
$ man ps