Я хочу запустить tcpdump в оболочке Linux в качестве фонового процесса, используя сценарий perl, но мне нужно проанализировать вывод, после чего мне нужно убить процесс. Как я могу это сделать ?
как запустить фоновый процесс в Linux, а затем убить его после анализа вывода?
Ответы (1)
В Unix традиционным способом является написание небольших и очень специализированных программ и объединение их воедино. Почему бы вам просто не направить вывод tcpdump в стандартный ввод сценария?
Мой перл немного ржавый:
$| = 1;
my $pid = open(DUMP, "tcpdump -i eth1 -l -n 2>\&1 |");
while(<DUMP>) {
# do something
if($some_condition) {
`kill $pid`;
last;
}
}
person
Paulo Scardine
schedule
10.10.2012
ps
,grep
иcut
чтобы получить pid. - person Some programmer dude   schedule 10.10.2012