วิธีออกจากใน Node.js


คำตอบ:


2375

เรียกวิธีการprocessของวัตถุทั่วโลกexit:

process.exit()

จากเอกสาร:

process.exit ([code])

codeสิ้นสุดกระบวนการที่มีการระบุไว้ หากละเว้นออกใช้ 'ความสำเร็จ' 0รหัส

หากต้องการออกด้วยรหัส 'ล้มเหลว':

process.exit(1);

1เปลือกที่โหนดดำเนินการควรจะเห็นรหัสออกเป็น


5
แค่ต้องการเพิ่มบางสิ่ง หากคุณกำลังจัดการคำขอคุณควรend()ขอเช่นกัน มิฉะนั้นมันจะหยุด
pixelfreak

126
@pixelfreak exitไม่ทำให้เข้าใจผิดเลย คุณสับสนเกี่ยวกับการทำงานของโหนด คิดว่าโหนดเป็นเซิร์ฟเวอร์ตัวเอง มันไม่เพียงเพิ่มความจำเป็นเช่นเดียวกับ PHP อยู่ในเว็บเซิร์ฟเวอร์เช่น Apache โหนดไม่จำเป็นต้องมีอะไรเกี่ยวข้องกับเว็บเซิร์ฟเวอร์เลย! มันเป็นเพียงโฮสต์สำหรับ JavaScript บางตัวที่มีไลบรารีในตัวที่ดีสำหรับการทำสิ่งที่มีประโยชน์
แบรด

6
@Brad And PHP เป็นภาษาวัตถุประสงค์ทั่วไป ไม่จำเป็นต้องเรียกใช้mod_phpหรือใช้ Apache คุณสามารถปรับใช้ httpd ใหม่ใน PHP เช่นโหนดได้ถ้าคุณต้องการหรือใช้วิธีที่มีสติ / มาตรฐานมากกว่าเช่น FastCGI เช่นเดียวกับที่คุณทำในโหนด
binki

38
โปรดทราบว่าprocess.exit()จะไม่แนะนำให้ใช้ตามที่อธิบายไว้ในคำตอบด้านล่างนี้
AndreasPizsa

409

เพียงแค่ทราบว่าการใช้process.exit([number])จะไม่แนะนำการปฏิบัติ

โทรprocess.exit()จะบังคับให้กระบวนการเพื่อออกให้เร็วที่สุดเท่าที่เป็นไปได้แม้ว่ายังคงมีการดำเนินงานที่ไม่ตรงกันอยู่ระหว่างดำเนินการที่ยังไม่เสร็จสมบูรณ์รวมทั้งดำเนินการ I / O ไป และprocess.stdoutprocess.stderr

ในสถานการณ์ส่วนใหญ่ไม่จำเป็นต้องโทรหา process.exit()อย่างชัดเจน กระบวนการ Node.js จะออกเองถ้าไม่มีงานเพิ่มเติมที่ค้างอยู่ในเหตุการณ์วนรอบ process.exitCodeคุณสมบัติที่สามารถตั้งค่าที่จะบอกกระบวนการที่รหัสทางออกที่จะใช้เมื่อออกจากกระบวนการได้อย่างสง่างาม

ยกตัวอย่างเช่นตัวอย่างต่อไปนี้แสดงให้เห็นถึงการใช้ผิดประเภทของ process.exit()วิธีการที่จะนำไปสู่ข้อมูลที่พิมพ์จะstdoutถูกตัดทอนและการสูญเสีย:

// This is an example of what *not* to do:
if (someConditionNotMet()) {
  printUsageToStdout();
  process.exit(1);
}

เหตุผลนี้เป็นปัญหาเนื่องจากเขียนprocess.stdoutใน Node.js บางครั้งไม่ตรงกันและอาจเกิดขึ้นในหลายติ๊กของเหตุการณ์ห่วง Node.js process.exit()อย่างไรก็ตามการโทรบังคับให้กระบวนการออกก่อนที่จะstdoutสามารถทำการเขียนเพิ่มเติมเหล่านั้นได้

แทนที่จะเรียกprocess.exit()โดยตรงรหัสควรตั้งค่า process.exitCodeและอนุญาตให้กระบวนการออกตามธรรมชาติโดยหลีกเลี่ยงการกำหนดเวลาการทำงานเพิ่มเติมใด ๆ สำหรับเหตุการณ์ลูป:

// How to properly set the exit code while letting
// the process exit gracefully.
if (someConditionNotMet()) {
  printUsageToStdout();  
  process.exitCode = 1;
}

31
นี่คือคำตอบที่ดีที่สุด คำตอบอื่น ๆ อาจไม่อนุญาตให้โหนดประมวลผลเหตุการณ์ที่รอดำเนินการอย่างถูกต้องก่อนออกจากงานเศร้ามาก :(
djabraham

3
ตกลงนี้ควรมี upvotes มากกว่า! ฉันมีโหนดสคริปต์ที่เริ่มกระบวนการเด็กหลายกระบวนการผ่าน shelljs.exec และฉันต้องการให้สคริปต์โดยรวมของฉันกลับมาพร้อมกับรหัสออกจากข้อผิดพลาดหากกระบวนการย่อยใด ๆ ล้มเหลว process.exitCode = 1 ทำงานได้ดีในการเรียกกลับ exec (ในขณะที่เพียงเรียก process.exit (1) ในนั้นจะออกจากสคริปต์หลักก่อนที่กระบวนการเด็กทั้งหมดเสร็จสิ้น!)
Nick

15
ฉันใช้คำตอบนี้และพบว่ากระบวนการของฉันไม่เคยออกจริง ต้อง ctrl-C มัน
jcollum

33
มีกรณีการใช้งานมากมายสำหรับกระบวนการทันทีและการยกเลิกเหตุการณ์ที่ค้างอยู่ นั่นคือสิ่งที่process.exit()มีไว้สำหรับ
Dominic Cerisano

6
นี่ไม่ใช่คำตอบที่ดีที่สุดสำหรับการยืดเวลาใด ๆ เพราะมันไม่ได้ตอบคำถาม แต่จะให้แนวทางปฏิบัติที่ดีที่สุดเกี่ยวกับวิธีการพัฒนาโฟลว์โค้ดสำหรับโปรแกรม nodejs
anon58192932

365

จากเอกสารnodejs.orgอย่างเป็นทางการ:

process.exit(code)

จบกระบวนการด้วยรหัสที่ระบุ หากไม่ได้ระบุไว้ทางออกจะใช้รหัส 'สำเร็จ'

หากต้องการออกด้วยรหัส 'ล้มเหลว':

process.exit(1);

9
@Alison ใช่หรือมากกว่านั้นอย่างแม่นยำcode = 0; process.exit(code);
wprl

7
เป็นความจริงcodeหรือเปล่าที่ว่าถ้าคุณกำลังออกไปคุณอาจไม่สนใจคุณค่าของมัน
อาร์มันด์

8
@Alison ความคิดที่ดีกว่าคือprocess.exit()ไม่มีพารามิเตอร์เป็นค่าเริ่มต้นของรหัสเป็น 0
Jeremy Moritz

2
@Armand คุณถูกต้อง - รหัสเป็นเพียงตัวแปรและในกรณีนี้ใช้เพื่อระบุว่าพารามิเตอร์คืออะไร ดังนั้นออกจาก (0) ทำทุกอย่างที่เป็นตัวอย่าง
เจอราร์ดโอนีล

23
@Armand รหัสไม่ได้สำหรับคุณมันเป็นสิ่งที่เรียกใช้รหัสของคุณ ตัวอย่างเช่นหากคุณสร้าง exit_0.js ด้วยprocess.exit(0);และเรียกใช้ด้วยnode exit_0.js && echo 'success'มันจะบอกว่า "สำเร็จ" หากคุณสร้าง exit_1.js ด้วยprocess.exit(1);และรันnode exit_1.js && echo 'success'มันจะไม่พูดว่า "สำเร็จ" เนื่องจากกระบวนการของคุณออกโดยไม่เป็นศูนย์ (ซึ่งระบุว่า "ล้มเหลว" หรือ "ออกผิดปกติ" ไปยังเชลล์) นอกจากนี้คุณจะเห็นค่าที่แตกต่างกัน$?หากคุณใช้node exit_1.jsvs node exit_0.js(คุณสามารถตรวจสอบได้โดยการทำnode exit_1.jsแล้วทำecho $?)
msouth

277

หากคุณอยู่ในเทอร์มินัล Unix หรือบรรทัดรับคำสั่งของ Windows และต้องการออกจาก Node REPL ก็อาจ ...

  • กดCtrl+ Cสองครั้งหรือ
  • พิมพ์.exitและกด Enter หรือ
  • กดCtrl+ Dที่จุดเริ่มต้นของบรรทัด (Unix เท่านั้น)

14
โปรดทราบว่านอกเหนือจาก Node ปุ่มลัด Ctrl + D บน Mac หรือ Linux ทำงานบนเชลล์และ REPLs เกือบทั้งหมดที่คุณเคยพบรวมถึง Unix shells เช่น Bash, เชลล์สำหรับฐานข้อมูลเช่น MySQL และ PostgreSQL และ REPLs สำหรับการเขียนโปรแกรมภาษาเช่น Python, PHP และ Ruby มันเป็นวิธีเดียวในการออกจากเชลล์ที่ฉันใช้
Mark Amery

2
สำหรับnodeREPL, Ctrl + D เพื่อออกเป็นพฤติกรรมมาตรฐานดังนั้นจึงสามารถใช้งานได้กับ Windows
อลัน

กด Ctrl + C (แม้ใน Mac!)
เจ้าชาย

124

จากบรรทัดคำสั่ง.exitคือสิ่งที่คุณต้องการ:

$ node
> .exit
$

มันเป็นบันทึกไว้ในเอกสาร REPL REPL (Read-Eval-Print-Loop) คือสิ่งที่เรียกว่าบรรทัดคำสั่งโหนด

process.exit([code])จากโปรแกรมปกติการใช้งาน


79

มันขึ้นอยู่กับเหตุผลที่ว่าทำไมคุณยินดีที่จะออกจากกระบวนการ Node.js แต่ในกรณีใด ๆprocess.exit()เป็นตัวเลือกสุดท้ายที่จะต้องพิจารณา คำพูดจากเอกสาร:

มันเป็นสิ่งสำคัญที่จะต้องทราบว่าการโทรprocess.exit()จะบังคับให้กระบวนการเพื่อออกให้เร็วที่สุดเท่าที่เป็นไปได้แม้ว่ายังคงมีการดำเนินงานที่ไม่ตรงกันอยู่ระหว่างดำเนินการที่ยังไม่เสร็จสมบูรณ์รวมทั้งดำเนินการ I / O ไปและprocess.stdoutprocess.stderr

ในสถานการณ์ส่วนใหญ่ไม่จำเป็นต้องโทรหา process.exit()อย่างชัดเจน กระบวนการ Node.js จะจบลงด้วยตัวเองหากไม่มีงานเพิ่มเติมที่ค้างอยู่ในเหตุการณ์วนรอบ process.exitCodeคุณสมบัติที่สามารถตั้งค่าที่จะบอกกระบวนการที่รหัสทางออกที่จะใช้เมื่อออกจากกระบวนการได้อย่างสง่างาม

มาอธิบายถึงเหตุผลที่เป็นไปได้ว่าทำไมคุณยินดีที่จะออกจากกระบวนการ node.js และเหตุผลที่คุณควรหลีกเลี่ยงprocess.exit():

กรณีที่ 1 - การดำเนินการเสร็จสมบูรณ์ (สคริปต์บรรทัดคำสั่ง)

หากสคริปต์ถึงจุดสิ้นสุดและล่ามโหนดไม่ออกก็แสดงว่าการดำเนินการ async บางอย่างยังคงค้างอยู่ มันผิดที่จะบังคับให้ยุติกระบวนการด้วยprocess.exit()ณ จุดนี้ ดีกว่าที่จะพยายามทำความเข้าใจกับสิ่งที่สคริปต์ของคุณไม่ให้ออกในลักษณะที่คาดไว้ และเมื่อคุณชำระบัญชีคุณสามารถใช้process.exitCodeเพื่อส่งคืนผลลัพธ์ใด ๆ ให้กับกระบวนการเรียก

กรณีที่ 2 - การสิ้นสุดเนื่องจากสัญญาณภายนอก (SIGINT / SIGTERM / อื่น ๆ )

ตัวอย่างเช่นหากคุณยินดีที่จะปิดแอปด่วนอย่างสง่างาม ซึ่งแตกต่างจากสคริปต์บรรทัดคำสั่งแอปด่วนยังคงทำงานอย่างไม่มีที่สิ้นสุดรอคำขอใหม่ process.exit()จะเป็นตัวเลือกที่ไม่ดีที่นี่เพราะมันจะขัดจังหวะการร้องขอทั้งหมดที่อยู่ในขั้นตอน และบางส่วนอาจไม่ใช่ idempotent (UPDATE, DELETE) ลูกค้าจะไม่ทราบว่าการร้องขอเหล่านั้นเสร็จสมบูรณ์หรือไม่บนฝั่งเซิร์ฟเวอร์และอาจเป็นสาเหตุของข้อมูลที่ไม่สอดคล้องกันระหว่างไคลเอนต์และเซิร์ฟเวอร์ ทางออกที่ดีเพียงอย่างเดียวคือบอกเซิร์ฟเวอร์ http ให้หยุดรับคำขอใหม่และรอให้คำขอที่รอดำเนินการเสร็จสิ้นserver.close():

var express = require('express');
var app = express();
var server = app.listen(80);

process.on( 'SIGTERM', function () {
   server.close(function () {
     console.log("Finished all requests");
   });
});

หากยังไม่ออกให้ดูที่กรณีที่ 1

กรณีที่ 3 - ข้อผิดพลาดภายใน

throwข้อผิดพลาดจะดีกว่าเสมอคุณจะได้รับการติดตามสแต็กและข้อความแสดงข้อผิดพลาดในรูปแบบที่ดี ระดับสูงสุดของรหัสสามารถตัดสินใจได้เสมอว่าพวกเขาสามารถจัดการกับข้อผิดพลาด ( catch) หรือปล่อยให้มันขัดข้องในกระบวนการ ในอีกด้านหนึ่งprocess.exit(1)จะยุติกระบวนการอย่างเงียบ ๆ และจะไม่มีโอกาสกู้คืนจากสิ่งนี้ มันอาจเป็นเพียง "ผลประโยชน์" ของprocess.exit()คุณสามารถมั่นใจได้ว่ากระบวนการจะถูกยกเลิก


4
การตอบสนองที่น่าอัศจรรย์ Process.exit()ดูเหมือนว่า overkill สำคัญสำหรับการใช้งานส่วนใหญ่ ฉันกำลังมองหาฟังก์ชันเทียบเท่ากับ php's die () ... ชอบมากขึ้น:throw new Error('die msg')
AvadData

หากมีรหัสจำนวนหนึ่งซึ่งควรจะดำเนินการอย่างต่อเนื่องจนกว่าจะได้รับคำขอปิดระบบจะมีการประชุมที่ดีสำหรับการลงทะเบียนเหตุการณ์ที่จะทำให้การสมัครสมาชิกถูกยกเลิกในการตอบสนองต่อคำขอปิดระบบโดยไม่ต้องใช้รหัสโดยใช้เหตุการณ์ หรือรหัสที่ขอให้ปิดระบบมีความรู้เฉพาะเกี่ยวกับกันและกันหรือไม่ น่าเสียดายที่วิธีเดียวที่ฉันสามารถนึกถึงการปรับใช้ kinda-sorta ที่จะต้องใช้รหัสใด ๆ ที่ลงทะเบียนเหตุการณ์ยังสร้าง wrapper ซึ่งรวมถึงการปิดเพื่อยกเลิกการลงทะเบียน
supercat

26

REPL (บรรทัดคำสั่ง)

  • กดctrl + c สองครั้ง

  • พิมพ์.exitและกด Enter

ไฟล์สคริปต์

process.exit(code)

โดยปกติโหนดจะออกด้วยรหัส 0เมื่อไม่มีการดำเนินการ async อีกต่อไป

process.exit(1) ควรใช้เพื่อออกด้วยรหัสความล้มเหลวซึ่งจะช่วยให้เราสามารถสรุปได้ว่าโหนดไม่ได้ปิดอย่างสง่างามและถูกบังคับให้ปิด

มีรหัสทางออกอื่น ๆ เช่น

3 - ข้อผิดพลาดในการแยกวิเคราะห์ JavaScript ภายใน (หายากมาก)

5 - ข้อผิดพลาดร้ายแรงในเครื่องมือ v8 javascript

9 - อาร์กิวเมนต์ไม่ถูกต้อง

สำหรับรายการทั้งหมดดูรหัสทางออกของโหนด


12

ฉันมีแอปพลิเคชันที่ฉันต้องการ:

  1. ส่งอีเมลไปยังผู้ใช้
  2. ออกด้วยรหัสข้อผิดพลาด

ผมต้องเบ็ดprocess.exit(code)ไปสู่การexitจัดการเหตุการณ์หรืออื่นจดหมายจะไม่ถูกส่งตั้งแต่โทรprocess.exit(code)โดยตรงฆ่าเหตุการณ์ไม่ตรงกัน

#!/usr/bin/nodejs
var mailer = require('nodemailer');
var transport = mailer.createTransport();
mail = {
  to: 'Dave Bowman',
  from: 'HAL 9000',
  subject: 'Sorry Dave',
  html: 'Im sorry, Dave. Im afraid I cant do <B>THAT</B>.'
}
transport.sendMail(mail);
//process.exit(1);
process.on('exit', function() { process.exit(1); });

4
ฉันคิดว่าคุณต้องการprocess.exitCode
Julian de Bhal

สำหรับบันทึก: ฉันใช้เวลาทั้งวันเพื่อพยายามprocess.exitCodeทำงานให้ฉันด้วยเครื่องมือบรรทัดคำสั่งที่ฉันกำลังสร้าง (ทดสอบกับโหนด v4.3.0) แต่ฉันไม่สามารถทำให้มันเป็นเอกสารได้ สิ่งนี้เป็นอย่างดีอาจเป็นกรณีที่มีcommander- แม้ว่าgithub.com/tj/commander.js/…ทำให้ฉันสงสัย ไม่แน่ใจว่าใครออกไปเห็นว่ามีปัญหานี้ด้วยโหนด 4 แต่บันทึกไว้เพื่อใช้อ้างอิงในอนาคต
mikermcneil

ความเป็นไปได้ของการมาจากผู้บัญชาการนี้ฉันยังดูที่ dep ( github.com/zhiyelee/graceful-readlink/… ) เท่านั้น แต่ไม่มีลูกเต๋า ดูเหมือนว่าผู้กระทำผิดที่เป็นไปได้อาจจะเป็น: github.com/tj/commander.js/blob/… โดยเฉพาะปัญหาคือแม้ว่าคุณจะตั้งค่าไว้process.exitCode = 1กระบวนการจะออกโดยใช้รหัส 0
mikermcneil

10

ตามที่ @Dominic ชี้ให้เห็นการขว้างข้อผิดพลาดที่ไม่ได้รับการจับเป็นการปฏิบัติที่ดีกว่าแทนที่จะเรียกใช้process.exit ([code]) :
process.exitCode = 1; throw new Error("my module xx condition failed");


3
นำมาใช้ในบริบทของคำถาม "วิธีการออกใน Node.js" นี่คือคำแนะนำที่น่ากลัว ข้อเสนอแนะของคุณจะสมเหตุสมผลมากขึ้นหากคำถามนั้นถามโดยเฉพาะว่าจะออกอย่างไรเมื่อเกิดข้อผิดพลาด ผมขอแนะนำให้คุณคำตอบของคุณในลักษณะเช่นเพื่อแสดงให้เห็นว่าผู้ใช้ทำตามที่คุณแนะนำ แต่ถ้าพวกเขากำลังพยายามที่จะออกจากโปรแกรมในกรณีที่มีการผิดพลาด
rstackhouse

@rstackhouse ฉันหวังว่าคุณจะได้ผ่านข้อผิดพลาดที่ไม่ได้รับการตรวจสอบซึ่งชี้ไปที่ -> nodejs.org/api/process.html#process_process_exit_code
MANN

4
ปัญหาเกี่ยวกับการขว้างปานั้นเป็นเรื่องที่น่าเกลียดอย่างหนึ่ง เคล็ดลับใด ๆ เพื่อหลีกเลี่ยงการติดตามสแต็กนี้ (ไม่เกี่ยวข้องเมื่อเครื่องมือ CLI ต้องการออกหากการใช้ไม่ถูกต้อง)?
MoOx

9

เพื่อออกจาก

let exitCode = 1;
process.exit(exitCode)

รหัสทางออกที่มีประโยชน์

1 - Catchall สำหรับข้อผิดพลาดทั่วไป
2 - การใช้งานเชลล์บิลด์ในทางที่ผิด (ตามเอกสาร Bash)
126 - คำสั่งที่เรียกใช้ไม่สามารถดำเนินการได้
127 -“ ไม่พบคำสั่ง”
128 - อาร์กิวเมนต์ไม่ถูกต้องเพื่อออก
128 + n - สัญญาณข้อผิดพลาดร้ายแรง“ n”
130 - สคริปต์ถูกยกเลิกโดย Control-C
255 \ * - ออกจากสถานะนอกช่วง

พิจารณาอัปเดตคำตอบของคุณnodejs.org/api/process.html#process_process_exit_code
Cmag

7

จากรหัสคุณสามารถใช้โดยprocess.exit([errorcode])ที่[errorcode]เป็นจำนวนเต็ม0ก็ได้

หากคุณใช้Read Eval Print Loop (REPL)คุณสามารถใช้Ctrl+ Dหรือพิมพ์.exit

อีกวิธีหนึ่งบน Windows หรือ Linux คุณสามารถใช้Ctrl+ C, Ctrl+C

สำหรับ Mac คำสั่งคือCtrl+ Z, Ctrl+Z


2
สองตัวควบคุมของ c ทำงานบน mac ได้อย่างน้อยก็ด้วย node --version v0.10.18
msouth

Control-C ไม่ปรากฏว่ามีการยกเลิกการดำเนินการที่กำหนดไว้แล้วในขณะที่ ctrl-z ฆ่ากระบวนการโดยไม่ชักช้าบน Mac
jorisw


3

ฉันสามารถทำให้กระบวนการโหนดทั้งหมดของฉันตายโดยตรงจาก Git Bash shell บน Windows 10 โดยพิมพ์taskkill -F -IM node.exe- นี่จะจบกระบวนการโหนดทั้งหมดในคอมพิวเตอร์ของฉันทันที taskkill //F //IM node.exeผมพบว่าผมยังสามารถใช้ ไม่แน่ใจว่าทำไมทั้งคู่-และ//ทำงานในบริบทนี้ หวังว่านี่จะช่วยได้!


นั่นเป็นเพราะ taskkill นั้นเอง คุณกำลังฆ่ากระบวนการด้วยตนเอง นอกจากนี้หนึ่งเดียว / ก็เพียงพอ
Paul Stelian

2

เนื่องจากโปรเซสเป็นวัตถุส่วนกลางคุณไม่จำเป็นต้องนำเข้าโมดูลใด ๆ ฟังก์ชันต่อไปนี้ออกหรือฆ่ากระบวนการโหนดปัจจุบัน

process.exit (รหัส)

Process.Kill (process.pid)

process.abort ()


1

เปิดเทอร์มินัลบรรทัดคำสั่งที่แอปพลิเคชันโหนดกำลังทำงานและกดCtrl + C

หากคุณต้องการออกจากแอปพลิเคชันโหนด js จากรหัส

process.exit(); // graceful termination 
process.exit(1); // non graceful termination 

0

หากคุณต้องการออกจาก node js application ให้เขียน

process.exit(1)

ในรหัสของคุณ


3
1 ใช้เพื่อระบุว่ามีข้อผิดพลาดในแอปพลิเคชันซึ่งคำตอบอื่น ๆ ได้ชี้แจงแล้ว
Herick

0

การออกในโหนด js ทำได้สองวิธี:

  • เรียกprocess.exit ()อย่างชัดเจน
  • หรือถ้าวนรอบเหตุการณ์ nodejs เสร็จสิ้นกับงานทั้งหมดและไม่มีอะไรเหลือให้ทำ จากนั้นแอปพลิเคชันโหนดจะออกโดยอัตโนมัติ

มันทำงานอย่างไร?

หากคุณต้องการที่จะบังคับให้ห่วงการดำเนินการที่จะหยุดกระบวนการโย่สามารถใช้ตัวแปรทั่วโลกกระบวนการซึ่งเป็นตัวอย่างของEventEmitter ดังนั้นเมื่อคุณเรียกใช้process.exit ()คุณจะปล่อยเหตุการณ์exitที่จบภารกิจทั้งหมดทันทีแม้ว่าจะยังไม่มีการดำเนินการแบบอะซิงโครนัสก็ตาม

process.exit ()รับโค้ดทางออก (จำนวนเต็ม) เป็นพารามิเตอร์ รหัส0เป็นค่าเริ่มต้นซึ่งหมายความว่าจะออกโดยมี 'ความสำเร็จ' ในขณะที่รหัส1หมายถึงมันออกด้วย 'ล้มเหลว'


0

หากคุณอยู่ใน Windows ให้ไปที่ตัวจัดการงานจากนั้นไปที่กระบวนการค้นหากระบวนการที่เรียกว่า "โหนด" จากนั้นคลิกที่ปุ่มนั้นด้วยปุ่มขวาของเมาส์แล้วคลิกตัวเลือก "กระบวนการสิ้นสุด"


-1

คุณสามารถใช้ฟังก์ชันprocess.exit ([code])

หากคุณต้องการออกโดยไม่มี "ความล้มเหลว" คุณใช้รหัส0:

process.exit(0);

หากต้องการออกด้วยรหัส 'ล้มเหลว' 1คุณสามารถเรียกใช้:

process.exit(1);

รหัส 'ความล้มเหลว' ของความล้มเหลวนั้นมีลักษณะเฉพาะกับแอปพลิเคชัน ดังนั้นคุณอาจใช้การประชุมของคุณเอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.