在另一个子进程的开头结束一个子进程

时间:2019-05-09 22:13:16

标签: javascript node.js

我在尝试杀死另一个连续运行的子进程(子进程2)时遇到麻烦。子进程2完成后,我希望子进程1重新开始备份。

我尝试在“ Process.on”下运行子进程1,然后在子进程2的启动时终止该进程,但是由于某些原因,在这些条件下,子进程1不能在启动时运行。我曾尝试运行If / Else语句,但是再次,子进程1不会在启动时运行。如果删除process.on,则可以在启动时运行子进程1,并在命令中激活子进程2,但子进程1不会终止。

var exec = require("child_process").exec; 
const execFile = require('child_process').exec;  

//Activates Child Process 1 on Startup 
process.on('SIGHUP', () => {
execFile('/path/executable1', function (error, stdout, stderr) { 
    if (error) { 
    throw error; 
    return;     
    }  
    });
});  

if (message === '!exec') { 
    process.kill(process.pid, 'SIGHUP');   // Trying to kill Child Process 1 

//activates Child Process 2      
    var process = exec('/path/executable2', (error, stdout, stderr) => {     
    if (error) { 
        console.error(`exec error: ${error}`); 
        return;   
    }    
        console.log(\`stdout: ${stdout}\`); 
        console.log(`stderr: ${stderr}`); 
    });  
});

我希望子进程1在引导时启动,并且子进程1在子进程2启动时被终止。理想情况下,一旦子进程2完成,子进程1将重新启动。你们有什么主意吗?

0 个答案:

没有答案