如果我只是正常运行应用程序,我可以生成一个gpg子进程并正常解密文件。
/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();
将app.js作为常规进程运行,并可以解密文件
node app.js
但是,当我尝试使用pm2,upstart等运行app.js作为守护程序时...我收到错误代码(2)并且无法解密文件 运行app.js一个守护进程
pm2 start app.js
答案 0 :(得分:1)
这不是Node.js问题。它与gnupg工具有关。为了在你的代码中调用gpg或作为一个cron工作来运行gpg,你需要一个标志' - no-tty'。