Mai mult
Cum pentru a ieși în Node.js
Care este comanda care este folosit pentru a ieși? (am.e rezilia Node.js proces)
1748
18
Care este comanda care este folosit pentru a ieși? (am.e rezilia Node.js proces)
Suna la nivel mondial
procesul
obiect'sexit
metoda:Din docs:
De la oficial nodejs.org documentație:
Se termină procesul cu codul specificat. Dacă este omis, ieșire folosește 'de succes' cod 0.
Pentru a ieși cu o 'eșec' cod:
Doar un rețineți că utilizarea de proces.de ieșire([numărul])` este recomandat practica.
Daca're într-un terminal Unix sau Windows command line și vrei să ieși din Nod REPL, fie...
Din linia de comandă, `.ieșire este ceea ce vrei:
L's documentate în REPL docs. REPL (Read-Eval-Print-Bucla) este ceea ce Nod în linia de comandă se numește.
De la un program normal, utilizați
proces.de ieșire([cod])
.Depinde de motivul pentru care te're dispuși să ieși node.js procesul, dar, în orice caz,
proces.ieșire()
este ultima opțiune să ia în considerare. Un citat din documentație:Hai să acopere posibile motive pentru care ai putea fi dispus să ieși node.js proces și de ce ar trebui să evite
proces.ieșire()
:Cazul 1 - Executarea completă (script de linie de comandă)
Dacă script-ul a ajuns la sfârșitul său și nod interpret nu't de ieșire, se indică faptul că unele asincron operațiuni sunt încă în curs. E greșit pentru a forța terminarea procesului cu procesul.de ieșire (de) la acest punct. E mai bine să încercăm să înțelegem ce ține script-ul de la ieșirea de așteptat în way](https://stackoverflow.com/questions/26057328/node-js-inspect-whats-left-in-the-event-loop-thats-preventing-the-script-from). Și când te rezolva acest lucru, puteți utiliza `proces.exitCode să se întoarcă nici un rezultat pentru proces de asteptare.
Cazul 2 - Rezilierea pentru că de semnal extern (SIGINT/SIGTERM/altele)
De exemplu, dacă ești dispus să grațios închis un expres app. Spre deosebire de script de linie de comandă, express app continuă să funcționeze la infinit, de așteptare pentru noi cereri.
proces.ieșire()
va fi o opțiune de rău aici, pentru că va întrerupe toate cererile care sunt în conducte. Și unele dintre ele ar putea fi non-idempotent (UPDATE, DELETE). Clientul nu va ști niciodată dacă aceste cereri sunt completate sau nu pe partea de server și acesta ar putea fi motivul de incoerență date între client și server. Singura soluție bună este de a spune server http pentru a opri acceptarea de noi cereri și așteptați pentru cele în curs de a termina cu serverul.close()`:Dacă încă nu't exit - a se vedea Cazul 1.
Cazul 3 - eroare Internă
L's întotdeauna mai bine pentru a "arunca" o eroare, veți obține un frumos formatate stivei și un mesaj de eroare. Nivelurile superioare de cod poate decide întotdeauna dacă se poate ocupa de eroare ("prinde") sau să-l bloca procesul. Pe de altă parte, procesul.exit(1)
se va termina procesul în tăcere și nu va fi nici o șansă de a recupera de la aceasta. Ar putea fi singurul "beneficiu" al
proces.ieșire()`, puteți fi sigur că procesul va fi reziliat.REPL(Linie de Comandă)
Apăsați ctrl + c` *de două ori ***
Tip `.de ieșire și apăsați pe enter
Fișier Script
Nod în mod normal, ieșirile cu cod 0 atunci când nu mai asincron operațiuni sunt în curs.
proces.exit(1)
ar trebui să fie utilizate pentru a ieși cu un cod de eroare.Acest lucru ne va permite să se deducă faptul că nodul n't de aproape grațios și a fost forțat să închidă.Există și alte coduri de ieșire ca
3 - Interne JavaScript Parse Error ( foarte foarte rar)
5 - eroare Fatală în v8 motor javascript
9 - Invalid argument
Pentru lista completă, consultați nod de ieșire coduri
Am o aplicație pe care am vrut să:
A trebuit să cârlig de proces.de ieșire(cod)
a o "ieșire" handler de eveniment, sau e-mail nu va fi trimis de asteptare
proces.de ieșire(cod)` direct ucide evenimente asincrone.Ca @Dominic a subliniat, arunca o eroare necunoscută este o practică bună în loc de asteptare proces.de ieșire([cod]):
proces.exitCode = 1; throw new Error("modulul xx condiție nu a reușit");
Pentru a ieși
Utile coduri de ieșire
Apăsați Ctrl + C
de două ori sau
.exit `.De cod puteți utiliza
proces.de ieșire([errorcode])
unde[errorcode]
este opțional, un număr întreg (0
este implicit pentru a indica succesul).Daca're folosind Citeste Eval Imprimare Buclă (DEC), puteți utiliza Ctrl + : D, sau de tip `.ieșire
Alternativ, pe Windows sau Linux, puteți utiliza Ctrl + C, Ctrl + C
Pe Mac comanda este Ctrl + Z, Ctrl + Z
Am fost capabil de a obține toate nodul meu procese să moară direct de la Git Bash shell pe Windows 10 prin tastarea
taskkill -F -IM node.exe
- asta se termină toate nodul procesele de pe computer la o dată. Am găsit-am putea folosi, de asemenea,taskkill /F ///IM node.exe
. Nu știu de ce atât-
și//
lucreze în acest context. Sper că acest lucru vă ajută!Deschide terminal de linie de comandă în cazul în care nodul se execută cererea și apăsați Ctrl + C,
dacă vrei să ieși dintr-un nod js cerere de cod, `` proces.exit(); // grațios încetarea proces.exit(1); // non grațios încetarea
Ca proces este obiect global, nu't nevoie pentru a importa orice modul. Următoarea funcție ieșiri sau ucide nodul curent proces.
dacă doriți să ieșiți din nod cerere js apoi scrie
în codul dvs.
Ieșirea în nodul js se face în două moduri:
Cum funcționează?
Dacă doriți să forțeze execuția buclei pentru a opri procesul, yo pot folosi variabile globale proces care este un exemplu de EventEmitter. Deci, atunci când apelați proces.ieșire() de fapt emit ieșire cazul în care se termină toate sarcinile imediat, chiar dacă încă mai există operații asincrone nu s-a făcut.
procesul de.ieșire() nevoie de un cod de ieșire (număr Întreg) ca un parametru. Codul 0 este implicit și acest lucru înseamnă că ieși cu un 'de succes'. În timp ce codul 1 înseamnă că ieși cu un 'eșec'.
Puteți utiliza procesul.de ieșire([cod]) funcție.
Dacă doriți să ieșiți fără o 'eșec', puteți folosi codul
0
:Pentru a ieși cu o 'eșec' cod
1
s-ar putea rula:Ca 'eșec' codul de eșec este specifică aplicației. Astfel se poate folosi propriile convenții pentru ea.