我想在linux shell上启动tcpdump作为使用perl脚本的后台进程但是我必须解析输出,之后我需要终止进程。我怎么能这样做?
答案 0 :(得分:1)
我是Unix,传统的方法是编写小型且非常专业的程序并将它们组合在一起。你为什么不把tcpdump输出管道输入你的脚本stdin?
我的perl有点生锈:
$| = 1;
my $pid = open(DUMP, "tcpdump -i eth1 -l -n 2>\&1 |");
while(<DUMP>) {
# do something
if($some_condition) {
`kill $pid`;
last;
}
}