Chinaunix

标题: PID杀不掉,请教! [打印本页]

作者: hs1006    时间: 2013-05-06 11:32
标题: PID杀不掉,请教!
Centos中需求是想写一个测试程序的脚本:启动一个程序,等待10S后,杀掉。     (另外如果是要重复这个动作100次,需要怎么写。)
#!/bin/sh
./nwt
nwt_pid=$$
sleep 10
kill -9 $nwt_pid

现在这样,可以运行。就是杀不掉。。请各位童鞋帮帮忙。
作者: nbrr    时间: 2013-05-06 11:51
$$ Process ID (PID) of the script itself.
所以$$是你的脚本的PID,不是./nwt的PID
你可以用pkill -9 nwt来杀掉./nwt,

循环一百次可以这样

  1. for i in {1..100}
  2. do
  3.     echo $i
  4. done
复制代码

作者: wenhq    时间: 2013-05-06 12:07
我觉得第一次杀掉就OK了,为什么要杀100次,这么狠么?

作者: 侃侃ERIC    时间: 2013-05-06 12:20
./nwt &
nwt_pid=$!
sleep 10
kill -9 nwt_pid
作者: zooyo    时间: 2013-05-06 13:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: hs1006    时间: 2013-05-06 15:14
本帖最后由 hs1006 于 2013-05-06 16:27 编辑

回复 2# nbrr


#!/bin/sh
./nwt
sleep 10
Pkill -9 nwt
   
改成这样了。。但是没有反应了。程序一直在运行,没有被杀掉了。


楼主的方法是对的。感谢。。但是不知道怎么循环100次了。

#!/bin/sh
./nwt&        我少了一个&
sleep 10
pkill -9 nwt
作者: hs1006    时间: 2013-05-06 15:16
本帖最后由 hs1006 于 2013-05-06 15:23 编辑

回复 4# 侃侃ERIC


按照楼主的运行。
进程里面还是有nwt,没被杀死。  
报错:line 5: kill: nwt_pid: arguments must be process or job IDs


检查修改成这样就可以了:kill -9  $nwt_pid


感谢各位的指导。3Q!
作者: Shell_HAT    时间: 2013-05-06 15:45
回复 6# hs1006


是pkill不是Pkill

[root]# which pkill
/usr/bin/pkill
作者: 侃侃ERIC    时间: 2013-05-07 16:27
回复 7# hs1006

笔误,so sorry,少写个$


   




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2