ยุติสคริปต์ node.js จากสคริปต์ node.js อื่น

ฉันมีสคริปต์ node.js ที่รันสคริปต์ node.js อื่นชื่อ 'app.js' โดยใช้ child_process.exec() ฉันต้องการบางสิ่งที่สามารถยุติ 'app.js' ได้ อาจเป็นคำสั่งที่ฉันสามารถใช้ในบรรทัดคำสั่งหรืออย่างอื่นใน node.js

ฉันไม่ได้พยายามฆ่ากระบวนการโหนดทั้งหมด เพียงแต่กระบวนการของ 'app.js' คอมพิวเตอร์ของฉันใช้ Windows 10

ตอนนี้โค้ดมีลักษณะดังนี้:

let isLaunched = false;
const exec = require('child_process').exec;

function launch() {
    if (isLaunched) {
        isLaunched = false;

        // Something that terminates app.js

    } else {
        isLaunched = true;
        exec('node app.js');
    }
}

ฉันเรียกใช้ฟังก์ชันจากปุ่มใน HTML

<button onclick="launch()">Launch</button>

ฉันจะทำสิ่งนี้ใน node.js ได้อย่างไร


person Oscar Q.    schedule 15.07.2019    source แหล่งที่มา
comment
หากคุณอ้างอิงถึง child_process ต่อไป คุณสามารถส่งสัญญาณการฆ่าจากกระบวนการหลักได้โดยใช้ child_process.kill([signal])< /ก>. ตามหมายเหตุด้านข้าง ทำไมคุณไม่ใช้ child_process.fork(modulePath[, args][, options]) เนื่องจากคุณกำลังวางไข่อีกรายการหนึ่ง กระบวนการ nodejs?   -  person Jake Holzinger    schedule 15.07.2019


คำตอบ (1)


person    schedule
comment
sigkill สามารถถูกแทนที่ด้วย sigterm หรือ sigint ขึ้นอยู่กับสิ่งที่คุณต้องการ - person Lennon McLean; 10.06.2020