我读过这个这些通用指令用于注销用户,但我想要更多细节。
当我运行该命令时users
,我看到了同一用户的多个实例。例如:
Joe Joe Joe Joe Joe
我如何知道 Joe 是否活跃?我如何才能找到有关 Joe 在每个会话中所做工作的更多信息?(例如,我可以关闭 Joe 已打开的会话而不丢失他的工作吗?)
我熟悉这个w
命令。假设这个用户在家里忘了关终端,然后来上班;但重启服务器不是一个好主意,我只是使用了命令
pkill -KILL -u Joe bash
这让我走出了自己的壳,也走出了家里开放的壳,不知道在这个过程中我是否会失去工作。
我能做些什么来帮助我评估哪些会话可以安全关闭?
我试过
skill -KILL -v /dev/pts/1
终止特定会话,但什么也没有发生。
答案1
我建议使用w
来识别空闲的tty,然后向其发送SIGHUP:
pkill -SIGHUP -t pts/5
SIGHUP(挂断信号)将更加优雅地终止会话,几乎就像用户logout
自己发出命令一样。SIGKILL 应该始终是最后的手段。
答案2
我肯定误读了你的部分帖子。
除非使用 screen 或类似的东西,否则没有很好的方法可以重新连接到您已丢失连接的终端会话。以下是有关通过 ssh 连接启动 screen 的 stackexchange 帖子:
编辑:
这不是一个解决这个问题的方法
杀死-9 $(ps aux | grep“[] $(who | grep'Joe'| awk'{print $2}')”| awk'{print $2}')