首页 > 代码库 > while死循环 无法执行
while死循环 无法执行
这是一个很低级的错误:首先看我们脚本的名字 tcpdump.sh ,然后再看我们需要杀死进程的名字 grep tcpdump,
grep选项会把当前执行的脚本名字同样的过滤出来 ,所以这个脚本当执行完一轮操作以后,同样的被kill掉了,所以无法形成死循环。
最简单的解决办法,把脚本换个名字 OK!!
[root]#bash -x tcpdump.sh
+ int=1
+ one=2
+ (( 1 != 2 ))
+ sleep 1
++ date +%F-%H:%M:%S
+ STIME=2014-08-12-22:11:50
+ sleep 30
+ tcpdump -i eth0 -s 0 -w tcpdum.2014-08-12-22:11:50 host 192.168.1.23
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
+ ps -ef
+ grep tcpdump
+ grep -v grep
+ awk ‘{print $2}‘
+ xargs kill -9
Killed
本文出自 “crush” 博客,请务必保留此出处http://only013.blog.51cto.com/6979724/1539172
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。