如何在linux上运行后台进程,然后在解析输出后将其终止?

时间:2012-10-10 05:38:13

标签: linux shell background-process tcpdump

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

1 个答案:

答案 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;
    }
}