パケットは毎秒750パケットで生成され、tcpdumpを使用してこれらのパケットをキャプチャし、USBドライブに保存されているファイルに書き込みます。書き込み速度の制限により、パケット全体のキャプチャ - >ファイルの書き込みプロセスに長い時間がかかります。 Ctrl + Cを使用してtcpdumpプロセスを終了すると、何が起こるかを知りたいです。キャプチャされたパケットをファイルに書き込んで終了しますか、またはキャプチャされた残りのパケットをファイルに書き込むのではなく、すぐにシャットダウンしますか?ありがとうございます。
答え1
クリックCtrl- CSIGINT信号がプロセスに送信されます。私はそれが後でシェルで何が起こるかに依存していると信じているので、何も依存してはいけません。
ただし、スクリプトはシグナルをキャプチャして終了する前に定義した操作を実行できます。必要に応じて実行できる関数を作成してください。名前は重要ではありません。ここでは清掃と呼びます。その後、SIGINTをキャプチャして関数を呼び出します。このように:
trap cleanup SIGINT
cleanup() {
.... # your code here - to be executed after Ctrl+C/SIGINT is received
exit 1 # <--- make sure you exit, otherwise Ctrl+C will not work anymore
}
... your script here...