0

我想使用 perl 脚本在 linux shell 上启动 tcpdump 作为后台进程,但我必须解析输出,之后我需要终止进程。我怎样才能做到这一点 ?

4

1 回答 1

1

在 Unix 上,传统的方法是编写小型且非常专业的程序并将它们连接在一起。为什么不直接将 tcpdump 输出通过管道传输到脚本标准输入中?

我的 perl 有点生疏了:

$| = 1;
my $pid = open(DUMP, "tcpdump -i eth1 -l -n 2>\&1 |");

while(<DUMP>) {
    # do something
    if($some_condition) {
        `kill $pid`;
        last;
    }
}
于 2012-10-10T05:54:54.733 回答