免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: cfzxwxb
打印 上一主题 下一主题

[系统管理] 怎样知道占用屏幕的用户名。 [复制链接]

论坛徽章:
6
处女座
日期:2014-04-02 16:07:17酉鸡
日期:2014-04-14 10:09:22子鼠
日期:2014-04-17 11:57:30辰龙
日期:2014-09-01 17:14:08戌狗
日期:2014-10-28 12:25:54未羊
日期:2014-11-14 11:31:58
11 [报告]
发表于 2014-05-14 14:11 |只看该作者
回复 10# seesea2517


    学习了,高手啊

论坛徽章:
0
12 [报告]
发表于 2014-05-14 15:42 |只看该作者
10楼的大侠,我现在要求的就是终端号啊!不知道当前正在使用的终端号是什么?就不知道往哪个终端号发字符啊!

论坛徽章:
0
13 [报告]
发表于 2014-05-21 22:09 |只看该作者
呼唤10楼老大,怎样知道终端号?我所谓的用户名其实就是想知道终端号

论坛徽章:
2
狮子座
日期:2014-05-30 21:43:03巳蛇
日期:2014-05-30 21:46:14
14 [报告]
发表于 2014-05-22 00:19 |只看该作者
ps aux | grep aux

论坛徽章:
18
辰龙
日期:2014-05-21 21:01:4115-16赛季CBA联赛之深圳
日期:2016-12-23 13:51:3815-16赛季CBA联赛之北控
日期:2016-11-28 18:26:3815-16赛季CBA联赛之佛山
日期:2016-11-03 11:18:5815-16赛季CBA联赛之辽宁
日期:2016-07-10 16:09:4115-16赛季CBA联赛之江苏
日期:2016-02-20 23:09:202015亚冠之塔什干棉农
日期:2015-08-17 19:49:492015年亚洲杯之日本
日期:2015-04-30 01:24:342015年亚洲杯之约旦
日期:2015-04-01 00:37:182015年亚洲杯之沙特阿拉伯
日期:2015-03-02 15:55:40处女座
日期:2014-05-25 10:34:0020周年集字徽章-年
日期:2023-04-23 11:17:52
15 [报告]
发表于 2014-05-22 02:45 |只看该作者
本帖最后由 bikkuri 于 2014-05-22 02:58 编辑

用w|grep $(whoami)命令看第五列的IDLE时间。
IDLE时间最小的一般就是最后使用屏幕的用户。
但是如果你要编程序来实现的话,有点麻烦的是IDLE时间的格式不是固定的。
比如:
  1. [root@hp8 ~]# w
  2. 02:44:22 up 10 days, 13:04,  2 users,  load average: 0.61, 0.31, 0.25
  3. USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
  4. root     pts/0    test111.chn.alca Tue14    1:47   0.08s  0.08s -bash
  5. root     pts/1    135.244.46.72    02:38    0.00s  0.01s  0.00s w

  6. [root@hp8 ~]# w
  7. 02:52:08 up 10 days, 13:12,  2 users,  load average: 0.29, 0.29, 0.26
  8. USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
  9. root     pts/0    test111.chn.alca Tue14   23.00s  0.08s  0.08s -bash
  10. root     pts/1    135.244.46.72    02:38    0.00s  0.02s  0.00s w
复制代码

论坛徽章:
0
16 [报告]
发表于 2014-05-23 21:00 |只看该作者
15楼的老大还是很高啊!
在下崇拜之至!
现发上自己的试验脚本:

sleep 8;    #等待8秒,转到其他终端等待这个脚本发送kkkkkkkkkkkkkkk字符串
zdm=`w -h|awk '{print $5,$2}'|tr " " "@"|sort|head -1|awk -F"@" '{print $2}'`   #用w命令判断最近操作的终端名
echo "kkkkkkkkkkkkkkK" >/dev/"$zdm"                  #发送字符到终端名


问题:转到其他终端,必须做任意一个命令操作,如果只是等待,计算机判断最后“操作”的终端名还是原来的终端名。
哪位老大还有更好的方法?不过现在好像也能实现我想要的功能啦!!哈哈,感谢15楼老大!!

论坛徽章:
18
辰龙
日期:2014-05-21 21:01:4115-16赛季CBA联赛之深圳
日期:2016-12-23 13:51:3815-16赛季CBA联赛之北控
日期:2016-11-28 18:26:3815-16赛季CBA联赛之佛山
日期:2016-11-03 11:18:5815-16赛季CBA联赛之辽宁
日期:2016-07-10 16:09:4115-16赛季CBA联赛之江苏
日期:2016-02-20 23:09:202015亚冠之塔什干棉农
日期:2015-08-17 19:49:492015年亚洲杯之日本
日期:2015-04-30 01:24:342015年亚洲杯之约旦
日期:2015-04-01 00:37:182015年亚洲杯之沙特阿拉伯
日期:2015-03-02 15:55:40处女座
日期:2014-05-25 10:34:0020周年集字徽章-年
日期:2023-04-23 11:17:52
17 [报告]
发表于 2014-05-24 12:33 |只看该作者
本帖最后由 bikkuri 于 2014-05-24 12:39 编辑

你光用一个sort来判断最小IDLE值未必靠谱吧?
  1. 1:17m@pts/8
  2. 1:23m@pts/7
  3. 1:37m@pts/4
  4. 1:53@pts/6
  5. 1:59m@pts/2
  6. 2.00s@pts/1
  7. 2:48@pts/12
  8. 29:35@pts/5
  9. 34:20@pts/3
  10. 5:59@pts/9
  11. 8:00@pts/11
复制代码
我觉得靠谱的办法是把IDLE值全部折算成秒,然后再依次比较大小,不能用sort,因为sort只是按字符顺序排序,而不是按数值大小排序。

另外,一般既然你转到别的窗口,总会做点什么,不一定要执行命令,只要按一个键或者动一下鼠标,IDLE就被清零了。
一般你不会碰到你转到别的窗口了,原窗口的IDLE值还更小的情况。
如果你碰到了,发个截屏上来看看。

回复 16# cfzxwxb


   

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
18 [报告]
发表于 2014-05-24 21:39 |只看该作者
回复 17# bikkuri


    可以试试sort -n

论坛徽章:
0
19 [报告]
发表于 2014-05-24 21:56 |只看该作者
17楼,大侠也!高,实在是高!

论坛徽章:
0
20 [报告]
发表于 2014-06-11 18:51 |只看该作者
现在问题又来啦:
我安装的是虚拟机。
怎样让程序强制写屏?
就是说不管在window下,或者在linux下,只要任何一个屏幕在客户的眼前,都要强制的显示出来!
就像新浪围棋一样!不管在什么状态!也不管在什么系统里,都强制的往用户的屏幕上发信息。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP