我必须创建一个Shell
,当用户登录时,它将在与之建立连接的终端上打印,其中有多少用户登录了他们的进程数。
第二部分(带有进程的部分)很简单,谢谢你以下命令
ps hax -o user | sort | uniq -c
但我无法继续下去。我不知道如何为每个用户自动启动此脚本,甚至更多,如何在他们的终端上编写。 (我设置了msg
,write
之类的命令,但都需要我插入用户名)
答案 0 :(得分:2)
您的命令ps hax -o user | sort | uniq -c
不会显示已登录用户的进程数,但不会显示当前未登录的每个用户(包括系统帐户)的进程数。
只有登录用户的列表才能使用who
命令。
要获取每个登录用户的处理数,可以尝试:
for u in `who -u | cut -f1 -d' ' | sort -u`; do echo -n "$u "; ps hx -u $u | wc -l; done;
仅在登录时在用户终端上显示的消息在/etc/motd
测试文件中设置。这是静态文件。您需要的是动态生成的motd
文件。这可以通过update-motd
实现。
在Ubuntu / Debian update-motd
配置脚本可以在/etc/update-motd.d/
我不确定RedHat系统上是否有类似功能,但您可以搜索update-motd
或动态广告。