--- /dev/null
+
+var spawn = require('child_process').spawn,
+ path = require('path'),
+ childPath = path.join(__dirname, 'child-process-persistent.js');
+
+var child = spawn(process.execPath, [ childPath ], {
+ detached: true,
+ stdio: 'ignore'
+});
+
+console.log(child.pid);
+
+child.unref();
var path = require('path');
var spawn = require('child_process').spawn;
-var childPath = path.join(__dirname, '..', 'fixtures', 'child-process-persistent.js');
+var childPath = path.join(__dirname, '..', 'fixtures', 'parent-process-nonpersistent.js');
+var persistentPid = -1;
-var child = spawn(process.execPath, [ childPath ], {
- detached: true,
- stdio: 'ignore'
+var child = spawn(process.execPath, [ childPath ]);
+
+child.stdout.on('data', function (data) {
+ persistentPid = parseInt(data, 10);
});
process.on('exit', function () {
- process.kill(child.pid);
- assert.throws(process.kill(child.pid), Error);
+ assert(persistentPid !== -1);
+ assert.throws(function () {
+ process.kill(child.pid);
+ });
+ assert.doesNotThrow(function () {
+ process.kill(persistentPid);
+ });
});