2013-07-11 21 views
8

ben linux ağ trafiğini izlemek için Iptraf kullanın ve kabuk komut (Iptraf arka planda çalışan yapın): Ben sonuç almak istiyorsanızbash içinde SIGUSR2 kill nasıl kullanılır?

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

, ben ilk Iptraf durdurmak zorunda, bu yüzden kabuk komutu kullanın: ancak

kill -SIGUSR2 $pid 

, ben bir betik dosyası (net.sh) içine bu kabuk komutları taşırsanız ben Iptraf duramadım ve bir hata alıyorum:

kill: SIGUSR2: invalid signal specification 

Komut dosyasında 'kill -l' kullanıyorum (net.sh) ve SIGUSR2 adında bir parametre bulunamam. ve USR2 veya -9 kullanırsam hiçbir şey elde edemezdim.

tam komut dosyasıdır:

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 

Ben bu komutları sonra hiçbir şey olsun.

Sonuç almak istiyorsam ne yapacağım?

cevap

11

SIGUSR2 mimari bağlı olup 31, 12 veya 17 üzerinden bir değere sahip olabilir. Bu man 7 signal'da açıklanmaktadır. Sisteminiz için hangi değerin uygun olduğunu bulmanız gerekir. Genellikle bu bir göz alarak yapılır: - - Ubuntu 12.04 AMD 64 benim sistemde

/usr/include/asm/signal.h 

o 12 bir değere sahiptir:

#define SIGUSR2  12 

için uygun sayısal değeri öğrendiğinizde sisteminizde SIGUSR2, kullandığınız bu sinyali gönderebilir:

kill -SIGNO PID 
# In this case 
kill -12 PID 
+0

Çok teşekkürler, şimdi çalışıyor! – Mark

+0

hoşgeldiniz;) – hek2mgl

4

çalışır benim Linux kutusunda.

ben sonra
#!/bin/bash 
kill -l | grep USR2 
kill -SIGUSR2 4574 

sinyali gösterdi -l öldürmek ve (süreci öldürme) bir sinyal göndererek -SIGUSR2 öldürmek ran, sonsuz bir döngü (PID = 4574) ran.

Kontrol Eğer Bash veya

+0

çok teşekkürler, ama linux kutumda çalışmıyor. ve hala "kill: SIGUSR2: geçersiz sinyal belirtimi" hatasını alıyorum. belki bu hata linux ortamı ile ilgili bir şey var mı? – Mark

1

Bunu yapmanın Posix'y yolu SIG öneki olmadan -s kullanmaktır başka kabuğu (örneğin, tire, busybox, vs.) çalıştırıyorsanız. Ör:.

kill -s USR2 $pid

Bu MacOS ve linux hem iş gibi görünüyor.

İlgili konular