2013-05-09 12 views
5

aby znaleźć identyfikator procesu o node.js serwerze w systemie UNIX, używamy poniżej kodu:Znalezienie proces id serwera node.js w Windows

if (process.getgid) { 
    console.log('Current gid: ' + process.getgid()); 
} 

Więc mam wyjścia jak 1888 w * nix OS , ale gdy wykonuję to samo w systemie operacyjnym Windows, otrzymuję dane wyjściowe jako undefined również zgodnie z dokumentacją node.js, o której wyraźnie wspomniano, że ta metoda nie będzie działać w systemie Windows.

Moje pytanie brzmi: czy mogę uzyskać identyfikator procesu w systemie Windows? Próbowałem wykonać taskkill /f /im node.exe, ale to zabija wszystkie procesy węzłów, ale chcę zabić tylko proces particualr. Czy mimo to jest to możliwe?

Odpowiedz

8

na windows process.pid działa dla mnie.

dotyczące Dokumentów, getgid nie zwraca identyfikator procesu, a tożsamość grupowego procesu, aby uzyskać identyfikator procesu użyć pid

Aby zabić wykorzystanie procesu:

taskkill /f /pid processID 
+0

Dokładnie, tego właśnie szukałem, spróbuję w różnych wersjach (xp, 7, 32bit, 64bit) i zaktualizuję. –

+0

Świetnie, testowałem to na Win7 64bit. – balazs

+0

Czy jest jakaś różnica między process.getgid i process.pid, jeśli jesteś świadomy? Doc wspomina o żadnej informacji o tym samym :) –

1

Użyj tasklist, aby znaleźć prawidłowy identyfikator ...

Możesz wtedy użyć bloku zadań podczas sortowania poprawnego id, aby zabić tego konkretnego. Nie do końca pewna, czy zadziała w węźle. Ale to coś, co zadziałałoby na CMD.

+1

Lista zadań nie pomaga. Pokazuje on parent node.exe i child node.exe, ale nie ma tam pomocy, aby wiedzieć, który z nich zabić. –

Powiązane problemy