while死循环 无法执行
2014-08-12 22:30
295 查看
这是一个很低级的错误:首先看我们脚本的名字 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
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
相关文章推荐
- while read 中使用 ssh 免密执行命令 无法循环的问题
- C#循环语句-先执行后判断-do...while循环
- 巧用while循环避免执行除了异常处理的的另一个处理机制
- Linux之Shell脚本while循环ssh登录执行命令
- 把SQL的执行结果赋值给变量,然后将其作为while的条件,循环执行SQL
- 关于 自减运算符 (i--/--j)在 循环(for与while)中的执行过程
- 集合已修改;枚举操作可能无法执行。使用foreach 循环删除DataRow的时候的问题! 该死的AcceptChanges() Row.elete() Remove(Row)使用不同。
- while read line无法循环read文件
- SQL循环执行while控制
- shell 脚本中while 循环只执行一次的问题
- C#中for循环、while循环循环执行的方法
- 巧用while循环避免执行除了异常处理的的另一个处理机制
- SQL循环执行while控制
- C#循环语句-先执行后判断-do...while循环
- 巧用while循环避免执行除了异常处理的的另一个处理机制
- C#循环语句-先判断后执行-while循环
- C#循环语句-先判断后执行-while循环
- Linux/shell命令的实际应用——while;do;循环执行脚本
- 多线程下的for循环和foreach循环 System.InvalidOperationException: 集合已修改;可能无法执行枚举
- 三种循环的执行机制(for while do while)