Hatası Nasıl Düzeltilir: Düğümleri kullanırken EADDRINUSE dinle?


466

Bağlantı noktası 80 ile bir sunucu çalıştırın ve xmlHTTPrequest kullanmaya çalışırsanız bu hatayı alıyorum:Error: listen EADDRINUSE

80 numaralı bağlantı noktasında bir sunucu çalıştırırken bir istekte bulunmak istersem neden düğümler için sorun oluyor? Webbrowsers için sorun değil: Sunucu çalışırken internette sörf yapabilirsiniz.

Sunucu:

  net.createServer(function (socket) {
    socket.name = socket.remoteAddress + ":" + socket.remotePort;
    console.log('connection request from: ' + socket.remoteAddress);
    socket.destroy();
  }).listen(options.port);

Ve istek:

var xhr = new XMLHttpRequest();

xhr.onreadystatechange = function() {
    sys.puts("State: " + this.readyState);

    if (this.readyState == 4) {
        sys.puts("Complete.\nBody length: " + this.responseText.length);
        sys.puts("Body:\n" + this.responseText);
    }
};

xhr.open("GET", "http://mywebsite.com");
xhr.send();

Options.port dosyasının 80 olarak tanımlandığından emin misiniz? XHR kodu bir tarayıcıda mı çalışıyor? Bu sunucu çalışmadığında "nc -l 0.0.0.0 80" çalıştırabilir misiniz?
Timothy Meade


Hangi sistemdesiniz? Belirli bir eşiğin altındaki bağlantı noktalarını dinlemek istiyorsanız, bazı sistemler sudo gerektirir.
Kebman

Bu sorun, sunucunuzu bu bağlantı noktasında çalıştırdığınız ve bu bağlantı noktasını kapatmamış olduğunuz için ortaya çıkar, hata açıkça bağlantı noktasının zaten kullanımda olduğunu söylüyor, bu benim için oluyor, diğer projeleri kapatmadan vs kodunda yeni bir proje açtığımda (açılış sürükle ve bırak)
Ashad Nasim

Yanıtlar:


412

EADDRINUSElisten()sunucuyu bağlamaya çalışan port numarasının zaten kullanımda olduğu anlamına gelir .

Yani, sizin durumunuzda, 80 numaralı bağlantı noktasında bir sunucu çalışıyor olmalıdır.

Bu bağlantı noktasında çalışan başka bir web sunucunuz varsa, bu sunucunun arkasına node.js'yi koymanız ve üzerinden proxy kullanmanız gerekir.

listeningSunucunun gerçekten dinleyip dinlemediğini görmek için böyle bir olayı kontrol etmelisiniz :

var http=require('http');

var server=http.createServer(function(req,res){
    res.end('test');
});

server.on('listening',function(){
    console.log('ok, server is running');
});

server.listen(80);

1
Yalnızca bu sunucuyu çalıştırıyorum. Ben sunucuyu başlatmak için önce, xmlhttprequest çalışır. Sunucuyu bağlantı noktası 80'de başlattıktan sonra, sunucu da mükemmel çalışır. Ancak sunucuyu başlattıktan sonra bir xmlhttprequest yaparsam, bu hatayı alıyorum.
Danny Fox

6
Sunucu zaten dinliyorsa bu hala bir hata atmayacak mı?
trysis

1
Benim için bunun nedeni Skype
Bip

559

Bana gerçekten yardımcı olan şey:

killall -9 node

Ancak bu bir sistem sürecini öldürecektir.

İle

ps ax

çalışıp çalışmadığını kontrol edebilirsiniz.


1
Ayrıca benim için. Benim durumumda sadece dinleme işlevini iki kez çalıştırıyorum ve ikinci hatayı aldım
vabada

2
Ilgili bir notta da bir süreç kil -9 olmamalı ne zaman okuyabilirsiniz .
Nobita

12
Buradaki sorun, ilk işlemden sonra düğüm işleminden zarif bir şekilde çıkmamanızdır. Bu nedenle, düğüm yine de bu bağlantı noktasına bağlanır. ps aux | grep nodebunu gösterirdi. Uygulamayı CTRL + Z ile öldürmek yerine uygulamadan CTRL + C ile çıkın . Bu uygulamadan zarif bir şekilde çıkar ve bağlantı noktası bağlaması kaldırılır.
riser101

22
Yazılımınızı bir tokmakla vurmak anlamına gelen bir çözüm için 150'den fazla oy.
LeeGee

1
Bu çözüm oldukça problemlidir, çünkü -9 bayrağı belleği serbest bırakmadan süreci öldürecektir. Bunu sadece son bir çözüm olarak kullanmalısınız.
Yaki Klein

279

Yukarıda belirtilen killall -9 nodePatrick ö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 -9bunu 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 -9iş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.


Bu komutu nerede çalıştırmalıyım? Komut isteminde? NPM konsolunda mı?
Ulysses Alves

Sadece bir terminal penceresi açar ve işlemi oradan öldürür.
Nobita

@Nobita Bu Windows'ta çalışıyor mu? Şimdi bunun bir MAC OS komutu olabileceğini anlıyorum. Her neyse, bilgisayarımı yeniden başlattım ve artık bu hatayı alamadım. Sanırım başka bir uygulama aynı bağlantı noktasını kullanmaya çalışıyordu.
Ulysses Alves

2
pgrep nodeherhangi bir düğüm işleminin üzerinizde olup olmadığını gösterir. pkill nodeonları öldürecek.
Josh.F

3
Windows için değil, millet - başka bir bağlantı noktası denemek veya bilgisayarı yeniden başlatmak zorunda: P
Tom Stickel

62

Sadece bir kafa, Skype bazen 80 numaralı bağlantı noktasını dinler ve bu nedenle Node.js veya başka bir uygulamadan 80 numaralı bağlantı noktasını dinlemeye çalışırsanız bu hataya neden olur.

Skype'ta bu davranışı seçeneklere erişip Gelişmiş -> Bağlantı -> 80 numaralı bağlantı noktasını kullan'ı tıklatarak kapatabilirsiniz (Bunu kaldırın)

Skype bağlantı noktası 80 kullanımını kapatma

Not: Bu değişikliği yaptıktan sonra Skype'ı yeniden başlatmayı unutmayın!


14
Not: Bu değişikliği yaptıktan sonra Skype'ı yeniden başlatmayı unutmayın!
Rob Evans

16
Bu şimdiye kadar gördüğüm en şaşkın tasarım kusurlarından biri. Skype geliştiricileri 80 veya 443'ü aşmayı düşünecekleri kadar ne kadar çılgın ?
AJB

5
Hata ayıklama becerileriniz için büyük +1, Rob.
AJB

@AJB Giden trafiği http istekleriyle sınırlandıran güvenlik duvarları arasında geçiş yapmaya çalıştılar, ancak güvenlik duvarlarının DPI kullanmadığı yerlerde temel bağlantı noktası engelleme yapın. Yine de ... bunu varsayılan olarak etkinleştirmek biraz aptalca!
Rob Evans

Evet, bunu neden yapacaklarına dair biraz düşündükten sonra başıma geldi. Yine de, gerçekten çirkin bir çamur. Ve varsayılan olarak etkin olduğu fikri sadece küstah.
AJB

39

80 numaralı bağlantı noktasını dinleyen işlemi öldürmeyi denemelisiniz.

Killall çalışan tüm düğüm uygulamalarını öldürecek. Bunu yapmak istemeyebilirsiniz. Bu komutla yalnızca bilinen bir bağlantı noktasını dinleyen tek uygulamayı öldürebilirsiniz.

Unix kullanıyorsanız bu komutu deneyin:

sudo fuser -k 80/tcp    

1
Teşekkürler Yaki. killall düğümü benim için başarısız oldu ama bu işe yaradı.
Pat M

Teşekkürler! killall ve lsof -i benim için çalışmadı, ama bu işe yaradı.
karfus

1
Çalışan tüm düğüm uygulamalarını öldürmek istemeyebilirsiniz.
Yaki Klein

28

Hata nedeni: Meşgul'ü kullanmaya çalışıyorsunuzport number

Windows / Mac için iki olası çözüm

  1. Şu anda kullanılan ücretsiz port numarası
  2. Mevcut programınız için başka bir port numarası seçin


1. Ücretsiz Liman Numarası

pencereler

1. netstat -ano | findstr :4200
2. taskkill /PID 5824 /F

resim açıklamasını buraya girin

Mac

Netstat'ı deneyebilirsiniz

netstat -vanp tcp | grep 3000

OSX El Capitan ve daha yenisi için (veya netstatınız -p'yi desteklemiyorsa) lsof kullanın

sudo lsof -i tcp:3000

Bu sorununuzu çözmezse, Mackullanıcılar bu sorunla ilgili tüm tartışmaya başvurabilir Mac'te işlem kilitleme bağlantı noktası 3000'i bulma (ve öldürme)


2. Port Numarası değiştirilsin mi?

pencereler

set PORT=5000

Mac

export PORT=5000

pencerelerde tek bir komutla da yapabilirsiniz:netstat -ona | findstr ".0:PORT +0.0.0.0:0 +LISTENING" | for /f "tokens=5" %t in ('more') do taskkill /PID:%t /f
Z. Khullah

27

Bir kontrolör env altında şunları kullanabilirsiniz:

pkill node Senaryonuzu çalıştırmadan önce işi yapmalısınız.

Unutmayın ki bu komut tüm nodesüreçleri öldürecektir .

Başka herhangi bir senaryoda, program aracılığıyla arayarak bulduğunuz belirli bir işlem kimliğini veya adını öldürmek için bir komut kullanmanızı öneririm. işleminiz çağrılmışsa, düğüm sunucusu-1 yapabilirsiniz pkill node-server-1.

Bu kaynak anlamak için yararlı olabilir: https://www.thegeekstuff.com/2009/12/4-ways-to-kill-a-process-kill-killall-pkill-xkill/


2
pgrep nodebiraz dikkatli olmak ve hangi nodesüreçlerin çalıştığını görmek istiyorsanız
Josh.F

1
Tamamen !, süreç için bir konteyner veya çok kontrollü bir yer olması durumunda konuşuyordum.
Javier Cobos

Bu yukarıda verilen diğerleri daha söyleyeceğim harika bir cevaptır. Herkes lütfen oy verin.
Jitendra Pawar

@JavierCobos: Bir konteyner veya benzeri kontrollü bir alan içinde konuşuyorsanız, lütfen bu bilgiyi cevaba ekleyin. Birçok insan bu tür ortamlarda, özellikle de bir geliştirme makinesinde değildir ve bunun olduğu gibi istenmeyen sonuçları olabilir. Oylama, ancak uygun açıklama ile oyu değiştirmekten mutluluk duyuyoruz.
1919'da

1
Birçoğu ... ama genç geliştiricileri eğitmeye yardımcı olmak için önemli miktarda zaman harcayan biri olarak ve hatta bu bağlamın ötesinde, birçok insanın yaptıklarını gerçekten anlamadan Stack Overflow'da cevapları kullandığını söyleyebilirim. .. sadece bir sorunla karşı karşıyalar ve sorunlarının ne olduğuna bir çözüm olarak temsil edilen bir şey görürler ve onunla birlikte çalışırlar. Yani ... Ben şahsen sitenin iyi açıklamalar yapmasını ve iyi genel alışkanlıkları geliştirmesini istiyorum. Ben de buradan geliyorum. Yine de tek bakış açısı olmadığını biliyorum. :)
196'da

16

Uygulamanız zaten 8080 numaralı bağlantı noktasında çalışıyor. Bağlantı noktasını öldürmek ve kodunuzu tekrar çalıştırmak için bu kodu kullanın

sudo lsof -t -i tcp:8080 | xargs kill -9

Soru, 8080'e değil, 80 numaralı bağlantı noktasına atıfta bulunuyor. Ayrıca, bu muhtemelen 8080 numaralı bağlantı noktasında rahatsız edici bir süreçten kurtulmak için işe yarayacaktır, kill -9kullanımı neredeyse kesinlikle aşırıdır ve bence, hakkında özel uyarılar olmadan vermek için korkunç bir tavsiye o. Sadece killmuhtemelen hile yapacağını ve gerçekten bu söz konusu temel sorun şu ki, onlar çalıştığımızı düşünüyorum bir yeniden çalıştırmak sunucu bu sadece kesmek değil, bir düzeltmedir yüzden, tekrar tekrar ve. Neler olup bittiğini, bu cevabın gerçekten sağlamadığı şeyleri daha iyi anlamaları gerekir.
1919'da

15

Bu hatayı verebilecek başka bir şey, aynı düğüm kodundaki iki HTTP sunucusudur. Bazı Express 2 Express 3 kodunu güncelleştirmek ve bu vardı.

http.createServer(app).listen(app.get('port'), function(){            
  console.log('Express server listening on port ' + app.get('port')); 
});        

// tons of shit.

http.createServer(app).listen(app.get('port'), function(){            
  console.log('Express server listening on port ' + app.get('port')); 
});                                                                   

Ve bu hatayı tetikledi.


14

Bu benim için çalışıyor (mac kullanıyorum). Bu komutu çalıştır

lsof -PiTCP -sTCP:LISTEN

Bu, sisteminizin kullandığı bağlantı noktalarının bir listesini görüntüler. PIDDüğümünüzün çalıştığını bulun

COMMAND     PID          USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
node      17269 hientrq   16u  IPv6 0xc42959c6fa30c3b9      0t0  TCP *:51524 (LISTEN)
node      17269 hientrq   19u  IPv4 0xc42959c71ae86fc1      0t0  TCP localhost:1337 (LISTEN)

ve koş kill -9 [YOUR_PID]


11

EADDRINUSEbağlantı noktası (düğüm uygulamasında dinlemeye çalıştığımız) zaten kullanılıyor demektir. Üstesinden gelmek için, o portla hangi sürecin çalıştığını tanımlamamız gerekir.

Örneğin, düğüm uygulamamızı 3000 portta dinlemeye çalışıyorsak. Bu bağlantı noktasının başka bir işlem tarafından kullanılıp kullanılmadığını kontrol etmeliyiz.

Aşama 1:

$sudo netstat -plunt |grep :3000

Yukarıdaki komut aşağıdaki sonucu verir.

tcp6       0      0 :::3000                 :::*                    LISTEN      25315/node

Adım 2:

Şimdi süreç kimliğiniz var (25315), o işlemi öldürün.

kill -9 25315

Aşama 3:

npm run start

Not: Linux kullanıcıları için bu çözüm.


9
lsof -i:3000;
kill -9 $(lsof -t -i:3000);
// 3000 is a your port
// This "lsof -i:3000;" command will show PID 
kill PID 
ex: kill 129393

3
Gelecekteki okuyucuların kodu / komutu anlamasına yardımcı olmak için lütfen yanıtlarınıza daha fazla bağlam ekleyin.
Milo

8

sudo kill $ (sudo lsof -t -i: 80)

zorla öldürmek için

sudo kill -9 $ (sudo lsof -t -i: 80)

belirli bağlantı noktasını öldürmek için cmd'nin üzerinde kullanın ve ardından sunucunuzu çalıştırın


8

Her iki komutu da deneyin; tüm düğüm işlemlerini durduracaktır.

killall 9 node
pkill node
npm start 

1
Bu kesmek bana yardımcı oldu, çok zaman kazandırır teşekkürler
Anoop PS

5

Bu hata, uygulamanızı çalıştırmak istediğiniz bir bağlantı noktasında çalışan herhangi bir işleminiz olduğunda ortaya çıkar.

bu bağlantı noktasında hangi işlemin çalıştırılacağı => command: sudo netstat -ap | grep: 3000

çıktı: bu bağlantı noktasını kullanan işlem bilgilerini alırsınız

tcp 0 0 IP adresi: 3000 : DİNLE 26869 / düğüm

Şimdi bu işlemi sudo kill -9 26869 öldürebilir


Tüm cevapları kontrol ettim. Ama sen benim sorunumu çözüyorsun.
Rahul


5

EADDRINUSE, nodejs uygulamanızın bağlantı noktasının zaten kullanımda olduğu anlamına gelir.

  • Şimdi bu bağlantı noktasında çalışan işlemi / uygulamayı öldürdünüz.
  • Uygulamanın işlem kimliğini şu yolla bulun:

lsof -i tcp: 3000

  • Şimdi u bundan işlem kimliği alacak.
  • Bunu çalıştırın:

kill -9 processId


4

Görev Yöneticisi'ni kullanarak işlemi sonlandırmanın bir yolu vardır:

Bu çözümün yalnızca Windows için olduğunu unutmayın

  1. Görev Yöneticisi'ne gidin (veya Ctrl+ Shift+ kısayolunu kullanarak Esc)

  2. "Arka Plan İşlemleri" nde "Node.js" işlemlerini bulun ve sonlandırın (Sağ tıklayın ve "Görevi Sonlandır" ı seçin)

resim açıklamasını buraya girin

  1. Şimdi tekrar başlayabilmelisin

Mac kullanıcıları için: 1. 'Etkinlik Monitörü'nü başlatın. 2. Sağ üstteki arama çubuğunda' düğümü 'arayın. 3. Düğüm işlemine çift tıklayın ve çıkın. Hepiniz hazırsınız !!!! Mutlu kodlama.
Apogee

3

Bu hatayı daha önce (düğümde) http.client ile gördüm ve hatırladığım gibi, sorun httpClient'i başlatmama veya httpClient oluşturmada ve / veya url isteğinde kötü seçenekler ayarlama ile ilgiliydi.


3

Ben de aynı problemi yaşıyorum ve sadece terminali kapatıp yeni bir terminal açıp

node server.js

tekrar. bu benim için işe yarıyor, biraz zaman tekrar çalışana kadar birkaç saniye beklemek gerekiyor.

Ancak bu yalnızca sunucu konsolu yerine bir geliştirici makinesinde çalışır.


3

Hata: listen EADDRINUSE , uygulama sunucunuza atamak / bağlamak istediğiniz bağlantı noktasının zaten kullanımda olduğu anlamına gelir. Uygulamanıza başka bir bağlantı noktası atayabilirsiniz.

Veya uygulamaya aynı bağlantı noktasını atamak istiyorsanız. Sonra istediğiniz bağlantı noktasında çalışan uygulamayı öldürün.

Deneyebileceğiniz bir düğüm uygulaması için, düğüm uygulaması için işlem kimliğini şu şekilde bulun:

ps -aux | grep node

İşlem kimliğini aldıktan sonra

kill process_id

Windows 10'da yardımcı olur mu?
Tom Stickel

Hayır -ux, linux tabanlı sistemler içindir. Windows tabanlı sistemlerde, istenen düğüm işlemi için sistem montiorunu arayabilir ve sonlandırabilirsiniz.
Parth Vyas

2

Debian üzerinde bağlantı noktası 80 üzerinde çalıştırmak öğrendim komut yani yani kök olarak vermek gerekir

sudo node app.js

Umut ediyorum bu yardım eder


2

Benim durumumda Apache HTTP Sunucusu 80 numaralı bağlantı noktasında çalıştırıldı Komutu root olarak vererek çözdüm

sudo killall httpd

Güncelleme

Jenkin Mac'inizde yüklü ve çalışıyorsa;

  1. İle kontrol edebilirsiniz sudo lsof -i tcp:8080
  2. Evet ise ve Jenkins'i yalnızca bir kez durdurmak istiyorsanız, çalıştırın: sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

2

Başka bir Düğüm sunma işlemi çalışıyor gibi görünüyor. Bunu konsolunuza yazarak kontrol edin (Linux / Mac):

ps aux|grep node

ve şu şekilde çıkın:

kill -9 <NodeProcessId>

VEYA alternatif kullanım

ng serve --port <AnotherFreePortNumber>

Projenize istediğiniz ücretsiz bir limanda hizmet vermek için.


1

NODE_PORT'u öldürürken, krom işleminizi veya aynı bağlantı noktasını dinleyen herhangi bir şeyi öldürebilir ve bu can sıkıcı bir durumdur.

Bu kabuk betiği yardımcı olabilir - benim durumumda bağlantı noktası 1337, ancak istediğiniz zaman değiştirebilirsiniz

# LOGIC

CHROME_PIDS=`pidof chrome`
PORT_PIDS=`lsof -t -i tcp:1337`

for pid in $PORT_PIDS
do

if [[ ${CHROME_PIDS} != *$pid* ]];then

    # NOT FOUND IN CHROME PIDS

    echo "Killing $pid..."
    ps -p "$pid"

    kill -kill "$pid"
    fi

done

sails lift
# OR 'node app' OR whatever that starts your node

exit

1

Benim durumumda bir web hosting kullanıyorum ama yerel hostta aynı, ben kullandım:

ps -aef | grep 'node' 

düğüm sürecini izlemek için konsol PID ile işlemi gösterir. süreci öldürmek için bu komutu kullanmanız gerekir:

kill -9 PID

burada PID, yukarıdaki komutun işlem kimliğidir.


1

İki sunucu aynı bağlantı noktasında dinleyemez, bu nedenle aynı bağlantı noktasında dinleyen diğer sunuculara bakın, aynı bağlantı noktasında çalışıyorsa tarayıcı senkronizasyonuna da göz atın


1

Windows 10'daki düğümü olan localhostve 3500 gibi bir bağlantı noktasında çalışan diğer insanlar için ...

Ne çalışmıyor:

killall    ?  command not found
ps -aux | grep 'node'     ?     ps:  user x unknown 

Bilgileri gösteren ancak hala işe yaramayan nedir:

 ps -aef | grep 'node'
 ps ax
 kill -9 61864

Ne işe yarar:

Windows'ta Git Bash veya Powershell

  net -a -o | grep 3500   (whatever port you are looking for) 

PID (çok sağ) işe
alamadım dikkat edin killall... yani

  1. Görev yöneticinizi açın
  2. İşlemler sekmesinde, Ad'ı veya herhangi bir sütunu sağ tıklayın ve PID'yi dahil etmeyi seçin
  3. PID'ye göre sıralayın, ardından sağ PID'ye sağ tıklayın ve görevi bitir'e tıklayın.

Artık pencerelerde o kadar eğlenceli olmayan bir alıştırmadan sonra, görev yöneticisini kullanabileceğimi ve Düğüm motorunu bulabileceğimi ve bitirebileceğimi fark ettim.

FYI, ben bağlantı noktası 3500 üzerinde düğüm çalıştırmak için Visual Studio kodu kullanıyordum ve VS kodu içinde Git Bash kabuk kullanın. Ctrl + C ile zarif bir şekilde çıkmıştım, ancak bazen bu onu öldürmez. Portumu değiştirmek veya yeniden başlatmak istemiyorum, bu yüzden bu işe yaradı. Umarım başkalarına yardımcı olur. Aksi takdirde kendim için bir dokümantasyon.


1

İçin pencereleri kullanıcıların tüm düğüm süreçlerini öldürmek için PowerShell penceresinde aşağıdaki komutu yürütün.

Stop-Process -processname node

1

Benim için çalışan seçenek:

Çalıştırmak:

ps -ax | grep node

Gibi bir şey alırsınız:

 8078 pts/7    Tl     0:01 node server.js
 8489 pts/10   S+     0:00 grep --color=auto node    
 kill -9 8078
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.