-
Notifications
You must be signed in to change notification settings - Fork 114
Expand file tree
/
Copy pathipc-server.js
More file actions
30 lines (24 loc) · 734 Bytes
/
ipc-server.js
File metadata and controls
30 lines (24 loc) · 734 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
const { createServer } = require('http');
const message = require('./message');
const server = createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.write(message);
res.end('\n');
});
server
.on('listening', () => {
const { address, port } = server.address();
console.log(`Server listening on ${address}:${port}`);
console.log(message);
})
.listen(0);
process.on('message', data => {
if (data === 'node-dev:restart') {
console.log('ipc-server.js - IPC received');
server.close(() => process.exit(0));
}
});
process.once('beforeExit', () => console.log('exit'));
process.once('SIGTERM', () => {
if (server.listening) server.close(() => process.exit(0));
});