Как предотвратить дочерний процесс, чтобы убить процесс основного узла, запущенного в полномочиях пользователя - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть файл index.js, который разветвляет файл temp.js.Файл index.js запускается с правами доступа «никто (не root)».Следовательно, невозможно уничтожить любые другие процессы.Но из разветвленного процесса (т. Е. Temp.js) я могу получить 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);
    });
});
...