Php Daemon sinyal gönderme

3 Cevap php

Benim linux makine üzerinde çalışan PHP ile yazılmış bir cini var.

I am trying to send a signal to it through another php file. For this purpose I am trying posix_kill function. But its not working.

Enable-grep - Ben php sayfayı çalıştırdığınızda, ben php olmadan derlenmiş bir hata alıyorum

Bunu etkinleştirmek için nasıl bilmek istiyorum? OR daemon sinyal gönderme alternatif yolu nedir?

3 Cevap

PHP komut sinyalleri işlemek için tek yolu, size ihtiyacınız araçları / fonksiyonları verecek PCNTL kütüphane ile yeniden derlemek PHP etmektir.

http://php.net/manual/en/book.pcntl.php

Vb dosya bayrakları veya kilitleri,: Aksi takdirde, Quamis mentioned gibi geçici çözümleri kullanmak gerekir

Eğer sürecin kimliğini biliyorsanız, sadece olabilir

exec( "kill -SIGKILL 1234", $return );
print_r( $return );

Yoksa süreç kimliğini bilmiyorum

exec( "pkill -KILL myDaemon", $r );
print_r( $return );

all the available signals göndermek olabilir bulmak için:

shell> kill -l

Eğer sorun yaşıyorsanız, stderr standart çıktıya yönlendirmek:

exec( "pkill -KILL myDaemon 2>&1", $r );
print_r( $return );

Bu size (Eğer komutu bu şekilde yürütme olmuştu!) Terminalde ortaya olurdu herhangi bir hata mesajı gösterir.

Paylaşılan bellek, kilitler ya da dosyaları kullanarak deneyin. Süreç farklı bir kullanıcıya ait ise süreçler arasındaki sinyalleri göndererek çalışmayabilir.

Örneğin dosyaları veya kilitleri kullanarak şimdiye kadar ölçek gerekiyorsa yardımcı olarak onun sinyalleri kullanarak daha çoğaltmak kolay. Olabilir

Dediğim gibi, sinyalizasyon ile sorunlar cini anında denilen alacağı daemon sinyallerini belirli bir tetikleyici kullanarak ... etkinlikler için periyodik olarak bakmak gerekir ki, ve hızlı bir yanıtı geri gerekiyorsa o hayatı kolaylaştırır.