2015-05-21 31 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