由 Application 叫起來的 tcpdump 無法用 SIGINT 砍掉
tcpdump 一般將擷取結果存檔,都是按 ctrl+c 來讓它正常結束。擷取檔拿到 Wireshark 不會跳出錯誤。但是在我們的 application 中,我們用
system("tcpdump -nn -w a.pcap &")
來執行它。但是卻發現無法用
pkill -INT tcpdump
正常結束它。用 -9 是可以,不過擷取檔就會出錯。
後來才發現,要用
pkill -HUP tcpdump
便可以結束它,擷取檔也正常。
至於為什麼?不知。
system("tcpdump -nn -w a.pcap &")
來執行它。但是卻發現無法用
pkill -INT tcpdump
正常結束它。用 -9 是可以,不過擷取檔就會出錯。
後來才發現,要用
pkill -HUP tcpdump
便可以結束它,擷取檔也正常。
至於為什麼?不知。
留言
張貼留言