Başarısız Durdurma
Belirti:
php start.php stop
komutunun stop fail
hatası vermesi.
İlk Olasılık
Workerman'ı debug modunda başlatmak, geliştiricinin terminalde ctrl z
tuşlarına basarak SIGSTOP
sinyalini göndermesine neden olmuş olabilir. Bu da Workerman'ın arka planda askıya alınmasına ve durdurma komutuna yanıt verememesine yol açmış olabilir (SIGINT
sinyali).
Çözüm:
Workerman'ı başlatan terminalde fg
komutunu (SIGCONT
sinyalini göndermek) ve ardından Enter tuşuna basarak Workerman'ı ön plana çıkararak çalışmasını sağlayın, ardından ctrl c
tuşlarına basarak (SIGINT
sinyali göndererek) Workerman'ı durdurun.
Durdurulamıyorsa, aşağıdaki komutları deneyin
killall -9 php
ps aux|grep -i workerman|awk '{print $2}'|xargs kill -9
İkinci Olasılık
Durdurma işlemini yapacak kullanıcı ve Workerman'ı başlatan kullanıcı farklıysa, yani durduran kullanıcının Workerman'ı durdurma izni yoksa.
Çözüm:
Workerman'ı başlatan kullanıcıya geçiş yapın veya daha yüksek izinlere sahip bir kullanıcı ile Workerman'ı durdurun.
Üçüncü Olasılık
Workerman ana işlem PID dosyası silindiğinde, betik PID sürecini bulamadığından durdurma başarısız olabilir.
Çözüm:
PID dosyasını güvenli bir konuma kaydedin, Worker::$pidFile belgesine bakın.
Dördüncü Olasılık
Workerman ana işlem PID dosyasına karşılık gelen işlem Workerman işlemi değilse.
Çözüm:
Workerman'ın ana işlem PID dosyasını açın ve ana işlem PID'sini kontrol edin, PID dosyası varsayılan olarak Workerman'ın yanındaki dizine kaydedilir. Aşağıdaki komutu çalıştırarak (ps aux | grep ana işlem PID
) ilgili işlemin Workerman işlemi olup olmadığını kontrol edin. Eğer değilse, muhtemelen sunucu yeniden başlatıldığından dolayı Workerman'ın sakladığı PID eski bir PID'dir ve bu PID başka bir işlem tarafından kullanılıyordur, bu da durdurmayı başarısız yapar. Bu durumda, PID dosyasını silmek yeterli olacaktır.
Beşinci Olasılık
grpc eklentisi yüklendi, ancak grpc eklentisi için ilgili ortam değişkenleri ayarlanmadıysa, başlatıldığında ek bir montaj süreci oluşturulabilir ve durdurulamayabilir.
Çözüm:
grpc eklentisi için ilgili ortam değişkenlerini ayarlayın.