2015-05-21 68 views
-1

例如,我需要使用一個名爲SomeApp的應用程序,但它經常需要重新啓動,所以我需要輸入「ps -ef | grep SomeApp」,然後「kill -9 7777」 ,它首先找到進程ID並然後停止該進程:如何編寫一個獲取應用程序進程ID的.sh文件,然後停止應用程序?

XXXX:~ XXXX$ ps -ef | grep SomeApp 
333 7777  1 0 1:40PM ??   0:40.31 /Users/XXXX/SomeApp 
333 8888 9999 0 1:58PM abcd000 0:00.00 grep SomeApp 
XXXX:~ XXXX$ kill -9 7777 

現在我想把命令到.SH,但是我有一些不知道如何寫.SH:

  1. 排除屬於結果我的grep行動
  2. 得到正確的行結果
  3. 獲得結果字符串的第二個參數(進程ID)

任何人都可以幫忙嗎?

+0

或者,[killall](http://linux.die.net/man/1/killall)允許您按名稱殺死進程... – fvu

回答

1

這會做到這一點。

ps -ef | grep 'SomeApp' | grep -v grep | awk '{print $2}' | xargs kill 

還是看視操作系統而pgreppkill