使用Shell让其在系统空闲一段时间后自动结束指定进程

2014-11-24 13:12:26 · 作者: · 浏览: 2

(下面有代码)


事情起因:学校的上网账号 同一时间只能登一个,, 而实验室和宿舍都得使用这个账号上网


所以有时候在离开实验室回去时,会忘记将上网程序退出。导致回宿舍后没法上网, 又得打电话回去让别人帮忙退出。。。


所以才有此想法。


在Windows上我是用的其自带的计划任务的方法:当系统空闲如15分钟时,就执行结束指定进程


故而找shell脚本解决的方法。


最后找到使用Ubuntu 中的屏幕保护进程的状态(他的原理就是当系统空闲一定时间后,自动锁住屏幕), 而这个状态是可以通过


gnome-screensaver-comman -q命令查询的,,所以


shell如下:(我的上网程序是mentohust (锐捷的替代品))



就在~/.bashrc最后加上如:


/home/xx/bin/killprocess & #"&"不能少,因为是后台运行


ps: 这个空闲多久的时候就是gnome-screensaver即屏幕保护程序激活时间是一样的。



如果想改变时间,就改变屏幕保护程序的时间!!


如果不是桌面环境的话,只是终端时。 可以使用 w -u 命令显示出终端空闲时间 (只是个参考)