如何从nodejs中的守护进程生成gpg子进程?

时间:2014-12-04 19:49:55

标签: javascript node.js encryption child-process gnupg

如果我只是正常运行应用程序,我可以生成一个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

1 个答案:

答案 0 :(得分:1)

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