[英]How to check if child process is created successfully in NodeJS
我正在嘗試使用如下所示的 Node JS child_process 打開文件
var child_process =require('child_process');
var spawn = child_process.spawn;
var exePath='<exe's path>'
var filePath='<file path>'
var childProcess = spawn(exePath, [filePath]);
childProcess.stdout.on('data', (res) => {
console.log('in spawn data');
console.log(res);
})
childProcess.stderr.on('data', (err) => {
throw err;
});
這里的問題是我的文件在指定的 exe 中正確打開..但從未調用回調...我猜是因為打開文件后 exe 不返回任何輸出它只是打開文件。
此外,如果文件名中有任何錯誤,錯誤回調也不會觸發
題
正如@JuanPicado 在評論中所說,要檢查子進程是否已正確生成,您可以檢查其 PID。 這是一個例子:
import child_process from 'child_process';
const subprocess = child_process.spawn("grep");
if(typeof subprocess.pid !== "number")
throw new ErrorError: Failed to spawn subprocess.");
console.log("Spawned subprocess correctly!");
根據我的觀察,如果子進程未正確生成,則subprocess.pid
將是undefined
的。 通過更改進程名稱以包含要查看的拼寫錯誤來測試它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.