由 Application 叫起來的 tcpdump 無法用 SIGINT 砍掉

tcpdump 一般將擷取結果存檔,都是按 ctrl+c 來讓它正常結束。擷取檔拿到 Wireshark 不會跳出錯誤。但是在我們的 application 中,我們用

system("tcpdump -nn -w a.pcap &")

來執行它。但是卻發現無法用

pkill -INT tcpdump

正常結束它。用 -9 是可以,不過擷取檔就會出錯。

後來才發現,要用

pkill -HUP tcpdump

便可以結束它,擷取檔也正常。

至於為什麼?不知。

留言

熱門文章