คำถามติดแท็ก spawn

23
ฉันจะดีบัก“ ข้อผิดพลาด: วางไข่ ENOENT” บน node.js ได้อย่างไร
เมื่อฉันได้รับข้อผิดพลาดต่อไปนี้: events.js:72 throw er; // Unhandled 'error' event ^ Error: spawn ENOENT at errnoException (child_process.js:1000:11) at Process.ChildProcess._handle.onexit (child_process.js:791:34) ฉันสามารถทำตามขั้นตอนใดเพื่อแก้ไขได้ ผู้แต่งบันทึก : ปัญหามากมายกับข้อผิดพลาดนี้สนับสนุนให้ฉันโพสต์คำถามนี้สำหรับการอ้างอิงในอนาคต คำถามที่เกี่ยวข้อง: ใช้ฟังก์ชันวางไข่กับ NODE_ENV = การผลิต node.js child_process.spawn ข้อผิดพลาด ENOENT - ภายใต้ supervisord วางไข่ข้อผิดพลาด ENOENT node.js /programming/27603713/nodejs-spawn-enoent-error-on-travis-calling-global-npm-package โหนด JS - child_process วางไข่ ('ติดตั้ง npm') ใน Grunt งานผลลัพธ์ในข้อผิดพลาด ENOENT การเรียกใช้งาน …

6
การปฏิเสธสัญญาที่ไม่สามารถจัดการได้คืออะไร?
สำหรับการเรียนรู้ Angular 2 ฉันพยายามสอน ฉันได้รับข้อผิดพลาดเช่นนี้: (node:4796) UnhandledPromiseRejectionWarning: Unhandled promise rejection (r ejection id: 1): Error: spawn cmd ENOENT [1] (node:4796) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node. js process with a non-zero exit code. ฉันผ่านคำถามและคำตอบต่าง ๆ ใน SO …

8
Node.js สร้างกระบวนการย่อยของลูกและรับเอาต์พุตเทอร์มินัลสด
ฉันมีสคริปต์ที่ส่งออก 'hi', นอนเป็นเวลาหนึ่งวินาที, ส่งออก 'hi', นอนเป็นเวลา 1 วินาทีและอื่น ๆ ไปเรื่อย ๆ ตอนนี้ฉันคิดว่าฉันจะสามารถจัดการกับปัญหานี้ด้วยรุ่นนี้ได้ var spawn = require('child_process').spawn, temp = spawn('PATH TO SCRIPT WITH THE ABOVE BEHAVIOUR'); temp.stdout.pipe(process.stdout); ตอนนี้ปัญหาคืองานต้องเสร็จสิ้นเพื่อให้แสดงผลลัพธ์ได้ ตามที่ฉันเข้าใจนี่เป็นเพราะความจริงที่ว่ากระบวนการที่สร้างขึ้นใหม่ใช้การควบคุมการดำเนินการ เห็นได้ชัดว่า node.js ไม่รองรับเธรดดังนั้นโซลูชันใด ๆ ? ความคิดของฉันคืออาจเรียกใช้สองอินสแตนซ์อันแรกเพื่อจุดประสงค์เฉพาะในการสร้างงานและให้มันไปป์ผลลัพธ์ไปยังกระบวนการของอินสแตนซ์ที่สองโดยพิจารณาว่าสามารถทำได้

1
แยกกระบวนการลูกวางไข่หลังจากเริ่มต้น
ฉันเริ่มต้นกระบวนการเลี้ยงลูกด้วยวิธีนี้: let process = spawn(apiPath, { detached: true }) process.unref() process.stdout.on('data', data => { /* do something */ }) เมื่อฉันเริ่มกระบวนการฉันต้องเก็บไว้เพราะฉันต้องการอ่านผลลัพธ์ แต่ก่อนที่จะปิดโปรเซส Node ของฉัน (แม่) ฉันต้องการแยกโพรเซสลูกที่ไม่เสร็จทั้งหมดเพื่อให้มันทำงานในแบ็คกราวน์ แต่ตามที่เอกสารอธิบาย : เมื่อใช้ตัวเลือกที่แยกออกเพื่อเริ่มกระบวนการที่ใช้เวลานานกระบวนการจะไม่ทำงานในพื้นหลังหลังจากที่ผู้ปกครองออกจากเว้นแต่ว่าจะมีการกำหนดค่า stdio ที่ไม่ได้เชื่อมต่อกับผู้ปกครอง แต่ด้วยตัวเลือกที่stdio: 'ignore'ฉันไม่สามารถอ่านstdoutซึ่งเป็นปัญหา ฉันพยายามปิดท่อด้วยตนเองก่อนที่จะปิดกระบวนการหลัก แต่ไม่สำเร็จ: // Trigger just before the main process end process.stdin.end() process.stderr.unpipe() process.stdout.unpipe()
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.