我想在heroku上的node.js中將c程式作為子行程運行。在我的 app.js 中:
app.get('/extra', function (req, res) {
const child = spawn('./a');
child.stdin.setDefaultEncoding('utf-8');
child.stdin.write(52 "\n");
child.stdin.end();
child.stdout.on('data', (data) =>{
const dataString = "" data;
res.send(dataString);
});
});
我正在使用帶有 Makefile 的 heroku c-buildpack: all: gcc main.c -o a.out 它記錄成功,但是當我得到 /extra 應用程式失敗時,當我嘗試列出所有檔案時fs.readdirSync('/').forEach...,它只記錄了 app.js
uj5u.com熱心網友回復:
const { child } = require("child_process")
child("ls", (error, stdout, stderr) => {
if (error) {
console.log(`[Error] ${error.message}`);
return;
}
if (stderr) {
console.log(`[Std Error] ${stderr}`);
return;
}
console.log(`${stdout}`);
});
你能試試這個嗎,只需運行一個系統命令ls。
uj5u.com熱心網友回復:
交換
spawn('./a')
到
spawn('./a.out')
修復了問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/344684.html
下一篇:計算某個元素的組數
