11

Linux でネットワーク トラフィックを監視するために iptraf を使用しています。シェル コマンドは次のとおりです (バックグラウンドで iptraf を実行する)。

iptraf -s eth0 -f -B -L ./traffic.dat

結果を取得するには、最初に iptraf を停止する必要があるため、次のシェル コマンドを使用します。

kill -SIGUSR2 $pid

ただし、これらのシェル コマンドを bash スクリプト ファイル (net.sh) に移動すると、iptraf を停止できず、エラーが発生します。

kill: SIGUSR2: invalid signal specification

スクリプト ファイル (net.sh) で「kill -l」を使用しましたが、SIGUSR2 という名前のパラメーターがないことがわかりました。USR2 または -9 を使用しても何も得られません。

完全なスクリプト ファイルは次のとおりです。

    iptraf -s eth0 -f -B -L ./temp.txt
    pid=`ps -ef | grep iptraf | grep -v grep | awk '{print $2}'`
    kill -USR2 $pid
    cat temp.txt

これらのコマンドの後、何も得られません。

結果を出したい場合はどうすればいいですか?

4

3 に答える 3