歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

Linux環境下VMware使用之實用殺進程tool

在集成開發環境中,由於硬件的成本高,所以往往需要幾個開發人員共享一台硬件設備。

一個典型的應用就是:兩三個人共享一台設備Linux Server,然後使用VMware安裝自己的調試運行環境,大家共用一個用戶名(一般不是root)登陸。由於硬件設備性能瓶頸所限,同一時刻只能有一個虛擬機在運行(理論上可以同時跑多個虛擬機,但是速度慢,性能跟不上,無法實際應用)。當前用戶登陸使用該硬件設備時,需要殺掉別的同事遺留的進程(理論上應該進程的啟動者來清理,但可能常常被忘記,類似於上了廁所忘了沖水),這時候當前用戶就需要用命令“ps -ef|grep vmware”查看遺留的進程號,然後用命令“kill -9 processid”一個個來殺掉。經常這麼做,很繁瑣費事,於是自己寫了一個tool,測試了一下,很好用,特地分享一下。

源碼如下

  1. #!/bin/ksh   
  2.   
  3. if [[ $1 == "" ]]  
  4. then  
  5.     print "ko username, please input username!"  
  6.     exit 1  
  7. fi  
  8.   
  9. username=$1  
  10. print "\nBefore kill:\n"  
  11. ps -ef|grep vmware  
  12. print "\nkilling ..."  
  13. echo > .tmp.txt  
  14. ps -ef|grep "^${username}.*vmware"|grep -v grep|awk '{print $2;}' >> .tmp.txt  
  15.   
  16. while read line  
  17. do  
  18.     if [[ ${line} != "" ]]; then  
  19.         kill -9 ${line}  
  20.     fi  
  21. done <.tmp.txt  
  22. rm .tmp.txt  
  23.   
  24. print "\nAfter kill:\n"  
  25. ps -ef|grep vmware  
  26. exit 0  

運行結果

擴展

如果你想殺和某個用戶相關的別的進程(有某個關鍵字),只需要把腳本裡的vmware關鍵字替換即可,需要的同學可以自己改改。

Copyright © Linux教程網 All Rights Reserved