Yukarıda belirtilen killall -9 node
Patrick önerdiği, beklendiği gibi çalışır ve sorunu çözer ama neden bu derece cevabın düzenleme bölümünü okumak isteyebilirsiniz kill -9
bunu yapmanın en iyi yolu olmayabilir.
Bunun da ötesinde, tüm aktif süreçleri körü körüne öldürmek yerine tek bir işlemi hedeflemek isteyebilirsiniz .
Bu durumda, önce o bağlantı noktasında çalışan işlemin işlem kimliğini (PID) alın (örneğin 8888):
lsof -i tcp:8888
Bu şöyle bir şey döndürür:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 57385 You 11u IPv6 0xac745b2749fd2be3 0t0 TCP *:ddi-tcp-1 (LISTEN)
Sonra sadece (ps - aslında etmeyin . Lütfen aşağıda okumaya devam edin):
kill -9 57385
Bununla ilgili daha fazla bilgiyi buradan edinebilirsiniz .
DÜZENLEME: Bugün oldukça ilgili bir konuyu okuyordum ve neden bu kill -9
işlemi yapmamaya karar verdim .
Genellikle, hedef işleme kendi başına temizleme şansı vermek için -9'u öldürmeden önce -15'i kullanmalısınız . (İşlemler SIGKILL'i yakalayamaz veya yok sayamaz, ancak SIGTERM'i yakalayabilir ve sık sık yakalarlar.) İşleme, yaptıklarını bitirme ve temizleme şansı vermezseniz, bozuk dosyalar (veya başka bir durum) bırakabilir. yeniden başlatıldıktan sonra anlayamayacağını unutmayın.
Yani, belirtildiği gibi, yukarıdaki süreci daha iyi öldürmelisiniz:
kill -15 57385
DÜZENLEME 2 : Buradaki bir yorumda birçok kez belirtildiği gibi , bu hata bir işlemden zarif bir şekilde çıkmamanın bir sonucudur. Bu, birçok insanın CTRL + Z'yi kullanarak bir düğüm komutundan (veya başka birinden) çıkması anlamına gelir . Çalışan bir işlemi durdurmanın doğru yolu temiz bir çıkış gerçekleştiren CTRL + C komutunu vermektir.
Bir işlemden doğru şekilde çıkmak, kapatılırken bu bağlantı noktasını serbest bırakır. Bu, yeniden çalıştırmadan önce kendiniz öldürme sorununu yaşamadan süreci yeniden başlatmanıza olanak tanır.