簡體   English   中英

如何殺死命令行進程從 child_process nodejs 開始

[英]how to kill command line process start with child_process nodejs

我該如何停止它,它在我停止 nodejs 后繼續運行。 我嘗試 process.kill() 但不工作

const process = require('child_process')
const child = process.exec('ping 8.8.8.8 -t')
setTimeout(()=>child.kill(2),10000)

幾個小時閱讀 nodejs 文檔后,我發現這個問題與我的問題相同

const process = require('child_process')
const child = process.execFile('ping 8.8.8.8',['-t'],{cwd:'your working direct'})
setTimeout(()=>child.kill(2),10000)//now kill() working

我修改了您的代碼如下以清除錯誤:

const process = require('child_process')
const child = process.spawn('ping 8.8.8.8 -t') // instead of process.exec
setTimeout(() => {
    console.log(child.kill(2)) // --> false == failed
}, 10000);

child.on('error', (code, signal) => {
    console.log(`${code}`) // --> Error: spawn ping 8.8.8.8 -t ENOENT
});

ping 命令在 -t 之后需要一個參數(根據終端: ping: option requires an argument -- t

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM