日期:2014-05-16  浏览次数:20690 次

简单shell脚本问题
我的程序需要手动执行,是个python程序。但是只能有一个进程执行。
就是说,执行脚本的时候,如果有此进程,先kill掉,再执行我的程序。

我的代码如下,但是没有达到目的,不知问题在哪里,请高手赐教。

m=`ps   -ef   |grep   "python "|awk   '{print   $2} '`
if   [   $m   -gt   0   ]   &&   [$m   -ne     '   '   ];   then
                kill掉此程序
                再执行我的python程序
else
                执行我的python程序
fi


------解决方案--------------------
m=`ps -ef |grep "python "|grep -v grep|awk '{print $2} '`
if ...


其实不用判断存在与否,不管是否存在就先kill掉再执行

ps -ef|grep "python "| grep -v grep| awk '{print $2} ' |xargs kill -9

执行你的python程序

------解决方案--------------------
樓主的問題我想過用pidof來做,
但腳本程序可能多個不同的應用程序名都是python.