如何防止子进程杀死在没有用户权限的情况下运行的主节点进程

时间:2019-02-01 10:25:49

标签: node.js linux child-process

我有一个index.js文件,可以分叉temp.js文件。 index.js文件以任何用户(非root用户)权限级别运行。因此,不可能终止任何其他进程。 但是,从派生进程(即temp.js)中,我可以grep父进程的pid并杀死它。

是否可以防止子进程运行bash命令杀死父进程?

这是我的 index.js

var cp = require('child_process');
var child = cp.fork('./temp');

child.on('message', function(m) {
  console.log('received: ' + m);
});

// Send child process some work
child.send('kill me');

这是我的 temp.js

let exec = require('child_process');

process.on('message', function (m) {
    console.log("Message from parent: " + m);
    exec("kill $(ps ax | grep mytestproc | awk '{print $1}')", (error, stdout, stderr) => {
        if (error) {
            console.log('exec error: ' + error);
            return;
        }
        console.log('exec stdout: ' + stdout);
        console.log('exec stderr: ' + stderr);
    });
});

0 个答案:

没有答案