nodejs child_processes.Exec不能返回'nohup'命令

nodejs child_processes.exec can not return 'nohup' command

本文关键字:nohup 命令 返回 不能 child processes Exec nodejs      更新时间:2023-09-26

我写了一个nodejs函数来执行一个'nohup'命令,并将成功的结果作为http响应发送。

function _nohup(cmd,res){
    var child = exec('nohup ./' + cmd + '.sh &',
    function (error, stdout, stderr) {
        res.writeHeader(200);
        res.end("start process success!");
    });
}

但是当我通过url地址调用函数时,响应数据无法返回

child_process.exec()等待子进程退出,然后调用回调。在您的例子中,您已经生成了一个后台进程,该进程可能永远不会退出。

你可能想要child_process.spawn():

http://nodejs.org/docs/v0.4.9/api/child_processes.html child_process.spawn