SORU
13 HAZİRAN 2012, ÇARŞAMBA


`-0 $pid` kabuk öldürmek ne yapar?

Temelde, ne '0 here SİNYAL Numaraları 1'den başlayarak görüyorum. çünkü temsil etmiyor sinyal

CEVAP
12 Ocak 2013, CUMARTESİ


Bu nedenle İyi bir Soru

...bu özel işaret ile ilgili belgeler bulmak zor olabilir. Başkalarının söylediklerini rağmen, Debian tabanlı sistemler man 1 kill bu sinyalin tek söz vardır:

Özellikle yararlı sinyalleri HUP, İNT, ÖLDÜRMEK, DURDURMAK, DEVAM ve 0 vardır.

Özellikle eğer zaten sinyal ne yaptığını bilmiyorsun bile değil özellikle yararlı. Ayrıca sen bunu biliyor muydun sürece bundan haberin olmaz kill -l, çıkış tarafından listelenen değildir.

Bu Belgelenmiş nerede bulabilirim

Bölüm: Debian ve Ubuntu sistemlerde, man 2 kill çıktı diyor

Eğer sig 0, o zaman hiçbir sinyal gönderdi, ama yine de hata kontrolü yapılır; bu işlem KİMLİĞİ varlığını kontrol etmek ya da grup KİMLİĞİ işlemek için kullanılabilir.

Ne işe yaradığını

kill -0 işlemi çalışır durumda olup olmadığını kontrol etmek için kullanabilirsiniz. Bu örnekleri göz önünde bulundurun.

# Kill the process if it exists and accepts signals from
# the current user.
sleep 60 &
pid=$!
kill -0 $pid && kill $pid

# Check if a PID exists. When missing, this should result
# in output similar to:
#    bash: kill: (6228) - No such process
#    Exit status: 1
kill -0 $pid; echo "Exit status: $?"

Ayrıca kill -0 eğer geçerli bir kullanıcı belirli bir sinyal için izinleri olup olmadığını belirlemek için kullanabilirsiniz. Örneğin:

# See if you have permission to signal the process. If not,
# this should result in output similar to:
#     bash: kill: (15764) - Operation not permitted
#     Exit status: 1
sudo sleep 60 &
kill -0 $!; echo "Exit status: $?"

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 99being99

    99being99

    2 EYLÜL 2008
  • Blendtec

    Blendtec

    30 EKİM 2006
  • POGProductionz

    POGProductio

    27 NİSAN 2012