在集成开发环境中,由于硬件的成本高,所以往往需要几个开发人员共享一台硬件设备。一个典型的应用就是:两三个人共享一台设备Linux Server,然后使用VMware安装自己的调试运行环境,大家共用一个用户名(一般不是root)登陆。由于硬件设备性能瓶颈所限,同一时刻只能有一个虚拟机在运行(理论上可以同时跑多个虚拟机,但是速度慢,性能跟不上,无法实际应用)。当前用户登陆使用该硬件设备时,需要杀掉别的同事遗留的进程(理论上应该进程的启动者来清理,但可能常常被忘记,类似于上了厕所忘了冲水),这时候当前用户就需要用命令“ps -ef|grep vmware”查看遗留的进程号,然后用命令“kill -9 processid”一个个来杀掉。经常这么做,很繁琐费事,于是自己写了一个tool,测试了一下,很好用,特地分享一下。源码如下
- #!/bin/ksh
-
- if [[ $1 == "" ]]
- then
- print "ko username, please input username!"
- exit 1
- fi
-
- username=$1
- print "
Before kill:
"
- ps -ef|grep vmware
- print "
killing ..."
- echo > .tmp.txt
- ps -ef|grep "^${username}.*vmware"|grep -v grep|awk "{print $2;}" >> .tmp.txt
-
- while read line
- do
- if [[ ${line} != "" ]]; then
- kill -9 ${line}
- fi
- done <.tmp.txt
- rm .tmp.txt
-
- print "
After kill:
"
- ps -ef|grep vmware
- exit 0
运行结果扩展如果你想杀和某个用户相关的别的进程(有某个关键字),只需要把脚本里的vmware关键字替换即可,需要的同学可以自己改改。visudo精确用户赋权(sudo)Gnome 3.4 安装升级 PPA相关资讯 Linux资料
- Linux触发连锁反应,惠及全球 (04/25/2012 05:49:29)
- 【Linux】pam常用模块及意义 (04/18/2012 09:42:50)
- 【Linux】配置Apache的别名的pam认 (04/18/2012 09:40:21)
| - 如何挂载只读的Linux文件系统 (04/19/2012 06:10:57)
- 【Linux】ftp服务的ftpusers黑名单 (04/18/2012 09:42:02)
- Linux 0.11 在Ubuntu-11和gcc-4.6. (04/14/2012 11:06:44)
|
本文评论 查看全部评论 (0)