Durdurma Başarısız

Fenomen:

php start.php stop komutunu çalıştırdığınızda stop fail hatası alınıyor.

Birinci Olasılık

Öncelikle, workerman debug modunda başlatılmış olsun; geliştirici terminalde ctrl z tuşlarına basarak workerman'a SIGSTOP sinyali göndermiştir. Bu, workerman'ın arka plana geçmesine ve duraklatılmasına (pause) neden olduğundan, stop komutunu (SIGINT sinyali) yanıtlayamaz.

Çözüm:
Workerman'ı başlattığınız terminalde fg komutunu yazın (bu, SIGCONT sinyali gönderir) ve ardından enter tuşuna basarak workerman'ı ön plana geri alın, ardından ctrl c tuşlarına basarak (bu, SIGINT sinyali gönderir) workerman'ı durdurun.

Eğer durduramazsanız, aşağıdaki iki komutu çalıştırmayı deneyin:

killall -9 php
ps aux|grep -i workerman|awk '{print $2}'|xargs kill -9

İkinci Olasılık

stop komutunu çalıştıran kullanıcı ile workerman'ı başlatan kullanıcı farklıdır, yani stop kullanıcısının workerman'ı durdurma izni yoktur.

Çözüm:
Workerman'ı başlatan kullanıcıya geçiş yapın veya daha yüksek ayrıcalıklara sahip bir kullanıcı ile workerman'ı durdurun.

Üçüncü Olasılık

Workerman ana süreç pid dosyası silinmiş, bu yüzden betik pid sürecini bulamaz ve durdurma başarısız olur.

Çözüm:
pid dosyasını güvenli bir yere kaydedin, el kitabına bakın Worker::$pidFile.

Dördüncü Olasılık

Workerman ana süreç pid dosyasına karşılık gelen süreç workerman süreci değildir.

Çözüm:
Workerman'ın ana sürecinin pid dosyasını açın ve ana süreç pid'sini kontrol edin. pid dosyası varsayılan olarak Workerman ile aynı dizindedir. Aşağıdaki komutu çalıştırarak ps aux | grep ana süreç pid ile ilgili sürecin Workerman süreci olup olmadığını kontrol edin. Eğer değilse, muhtemelen sunucu yeniden başlatılmıştır, bu da workerman'ın kaydettiği pid'nin geçerli olmayan bir pid olmasına neden olur ve bu pid başka bir süreç tarafından kullanılıyor olabilir, bu da durdurma işleminin başarısız olmasına yol açar. Bu durumda, pid dosyasını silmek yeterlidir.

Beşinci Olasılık

grpc uzantısı yüklü, ancak grpc uzantısına uygun çevresel değişkenler ayarlanmamış. Başlatıldığında ek bir montaj süreci oluşturacak ve durdurma işlemi başarısız olacaktır.