我試圖在後臺運行tcpdump,同時通過eth0發送一些流量,然後在流量發送完成後啓動tcpdump進程。在命令行命令列表中使用tcpdump時出錯
當我在後臺運行tcpdump的單獨運行沒有錯誤:
bash~~$ sudo /usr/sbin/tcpdump -i eth0 -s0 -w /tmp/eth0.pcap &
[1] 19282
bash~~$ tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
bash~~$
然後,我可以pkill命令之後了tcpdump:
bash~~$ ps -ef | grep tcpdump; sleep 1; sudo pkill tcpdump; ps -ef | grep tcpdump
fred 20437 15842 0 11:55 pts/2 00:00:00 grep tcpdump
fred 20467 15842 0 11:55 pts/2 00:00:00 grep tcpdump
bash~~$
現在,當我把上面都在一起,我可以」 t似乎超過了最初的tcpdump調用:
bash~~$ sudo /usr/sbin/tcpdump -i eth0 -s0 -w /tmp/eth0.pcap & ; ps -ef | grep tcpdump; sleep 1; sudo pkill tcpdump; ps -ef | grep tcpdump;
-bash: syntax error near unexpected token `;'
bash~~$
關於我失蹤的任何想法? tcpdump的行爲與其他函數不同嗎?
甲
THX。在這個便利的列表中它的數字是21:http://mywiki.wooledge.org/BashPitfalls – amadain 2012-01-27 15:10:21