如何从nodejs中的守护进程产生gpgsubprocess?

如果我正常运行应用程序,我可以产生一个gpgsubprocess并正常解密一个文件。

/app.js

var spawn = require('child_process').spawn; function decrypt() { var gpg = spawn('gpg', ['--no-use-agent', '--passphrase', 'My Passphrase', './test.pdf.asc']); gpg.on('close', function (code) { console.log(code); // code == 0 }); } decrypt(); 

按照常规stream程运行app.js并解密文件

 node app.js 

然而,当我尝试运行app.js守护进程使用pm2,暴发户等…我得到了错误代码(2),无法解密文件运行app.js aa守护进程

 pm2 start app.js 

这不是一个Node.js的问题。 这与gnupg工具有关。 为了运行gpg从你的代码中调用它或者作为cron作业,你需要一个标志'–no-tty'。