UNPKG

674 BJavaScriptView Raw
1/*
2 Make sure every few seconds that `parent` and `child` are alive:
3 - if `parent` is dead:
4 - kill child
5 - kill itself
6 - if `child` is dead:
7 - kill itself
8*/
9
10const parentPid = parseInt(process.argv[2], 10);
11const childPid = parseInt(process.argv[3], 10);
12
13if (parentPid && childPid) {
14 setInterval(() => {
15 // if parent dead
16 try {
17 process.kill(parentPid, 0);
18 } catch (e) {
19 try {
20 process.kill(childPid);
21 } catch (ee) {
22 // doesnt matter if it is dead
23 }
24 process.exit();
25 }
26
27 // if child dead
28 try {
29 process.kill(childPid, 0);
30 } catch (e) {
31 process.exit();
32 }
33 }, 2000);
34}