Environment Versions
- OS Type: Windows 11
- Node version:
$ node --version v16.3.0
- http-server version:
$ http-server --version v14.1.0
Steps to reproduce
- Run this code:
const serveProcess = childProcess.exec('http-server -a :: -p 3000 -c-1 ./dist');
serveProcess.stdout.on('data', (data) => {
console.log(data);
});
serveProcess.stderr.on('data', (data) => {
console.error(data);
});
serveProcess.on('close', (code, signal) => {
console.log(`Server process closed with code ${code} or signal ${signal}`);
process.exit();
});
serveProcess.on('exit', (code, signal) => {
console.log(`Server process exited with code ${code} or signal ${signal}`);
});
- Clone https://github.com/talentlessguy/simple-ddos and run
node demo/app.js
- Wait for a bit, observe the first script reporting:
Server process exited with code 1 or signal null
Server process closed with code 1 or signal null
- Try to run the server script again, observe error:
code: 'EADDRINUSE',
errno: -4091,
syscall: 'listen',
address: '::',
port: 3000
(you can run npx -y kill-port 3000 to forcefully kill the http-server)
Expected result
I expect http-server not to receive SIGTERM signal. I'm pretty sure that it's sending it to itself somehow?
Actual result
See in repro steps
Other information
My use-case is running cypress tests using http-server, and when I disabled cache using -c-1 - it started to fail midway. When I run tests individually - they pass, but when I run them all sequentially - the server gets sigterm signal.
I'll probably just ignore it because despite the server getting this signal, it still continues to work just fine.
This is kinda a problem when I do want to kill it tho, once all tests are done. Because tree-kill npm module that I use normally to kill http-server, doesn't work in this scenario.
Environment Versions
$ node --versionv16.3.0$ http-server --versionv14.1.0Steps to reproduce
node demo/app.js(you can run
npx -y kill-port 3000to forcefully kill the http-server)Expected result
I expect http-server not to receive SIGTERM signal. I'm pretty sure that it's sending it to itself somehow?
Actual result
See in repro steps
Other information
My use-case is running cypress tests using http-server, and when I disabled cache using
-c-1- it started to fail midway. When I run tests individually - they pass, but when I run them all sequentially - the server gets sigterm signal.I'll probably just ignore it because despite the server getting this signal, it still continues to work just fine.
This is kinda a problem when I do want to kill it tho, once all tests are done. Because
tree-killnpm module that I use normally to kill http-server, doesn't work in this scenario.