coolscplayer 回复于:2003-08-22 12:09:20 |
wh_pd=1
while [ $wh_pd -eq 1 ] do killid=`ps -eaf|grep urp|grep -v grep|awk '{print $2}` if [ -z $killid ] then cotinue else kill -9 $killid wh_pd=0 fi done |
williamCU 回复于:2003-09-01 20:21:06 |
楼上这么复杂?
kill $(ps -ef|grep myproc|grep -v grep|cut -c 10-14) 以上kill一个进程名为myproc的进程。 |
albert 回复于:2003-09-01 20:41:09 |
[quote:84ac1a5999="williamCU"]楼上这么复杂?
kill $(ps -ef|grep myproc|grep -v grep|cut -c 10-14) 以上kill一个进程名为myproc的进程。[/quote:84ac1a5999] 如果还有一个进程叫myproc1呢? 呵呵。 |
williamCU 回复于:2003-09-01 21:39:57 |
楼上的楼上也不能啊!呵呵呵。。 |
williamCU 回复于:2003-09-02 10:29:15 |
kill $(ps -ef|grep myproc|grep -v grep|cut -c 10-14)
可能我没说清楚, 这条语句可以kill掉所有包含myproc字样的进程, 可以达到coolscplayer 的那个script的功能。 我说的不能,是指不能杀死任何进程,但可以带参数来实现: 将以上写成一个名为mykill的脚本: vi mykill kill $(ps -ef|grep $1|grep -v grep|cut -c 10-14) chmod 755 mykill 后台运行3个sleep进程: #sleep 10000& #sleep 10000& #sleep 10000& 运行带参数的脚本: #mykill sleep [3] + Terminated sleep 10000& [2] + Terminated sleep 10000& [1] + Terminated sleep 10000& |
zzl1997 回复于:2003-09-03 11:40:23 |
我也来写一个.
#!/usr/bin/sh echo "Which process do you want to kill:" read P ps -ef |grep "$P" echo echo "Please chioces the process do you want to killed:" read K kill -9 $K 这个对于前后台作业全可以. 我先前写了一个脚本,如下: #!/usr/bin/sh #The sprict is used to kill the process echo "Which process do you want to kill:" read NAME A=`ps -ef |grep "$NAME" |cut -b 10-14 |wc -l` if [ $A = 1 ] then kill -9 $A else if [ $A -gt 1 ] then echo "`$A >/zzl1997;more /zzl1997`" else echo "`$A 2>/zzl1997;more /zzl1997`" fi 我发现每次执行这个脚本,A就会产生一个与新进程,使得NAME得进程数肯定不为1,执行总是不能成功。所以写了那个简单得,不会很傻吧! |
zzl1997 回复于:2003-09-15 20:07:38 |
大家为何不继续了呢? |
Minsic 回复于:2003-09-16 12:06:06 |
[quote:c0ffbbfa5f="williamCU"]楼上这么复杂?
kill $(ps -ef|grep myproc|grep -v grep|cut -c 10-14) 以上kill一个进程名为myproc的进程。[/quote:c0ffbbfa5f] 人用的shell要是不支持$()这样的写法呢? |
williamCU 回复于:2003-09-16 12:56:37 |
[quote:6bbb22ded7="Minsic"]
人用的shell要是不支持$()这样的写法呢? [/quote:6bbb22ded7] 有道理 C shell好像不支持. |
Minsic 回复于:2003-09-16 15:11:08 |
[quote:295b4ee2f9="albert"]
如果还有一个进程叫myproc1呢? 呵呵。[/quote:295b4ee2f9] ps -ef|awk '$9~/^myproc$/{print $2}' 这样应该可以从一定程度上避免这种现象,不过如果myproc本身是由其他进程来调用的话,那另当别论了,或许$9应该换成$10? |
大头虎 回复于:2003-11-14 20:18:49 |
ps -ef|grep $Name|grep -v grep|awk '$NF=="$Name" {print "kill -9 "$2}'|/bin/sh |
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/