Node.js: 如何退出node命令或者node server

  1. 如果是要退出node命令的话,可以使用:Selection_076
    $ node
    > 9+23
    32
    > process.exit()
    $

    或者

    $ node
    > 9+23
    32
    > .exit
    $
  2. 如果是要退出node server的话,可以使用:Selection_077

 

Selection_080

别人是推荐点击两下 Ctrl-C, 但是我使用的时候不好使,不知道是不是因为需要大写的C才行,所以我使用 Ctrl-Shift-C 的时候就可以了,不过这个快捷键需要结合下面的代码使用:

// this function is called when you want the server to die gracefully
// i.e. wait for existing connections
var gracefulShutdown = function() {
  console.log("Received kill signal, shutting down gracefully.");
  server.close(function() {
    console.log("Closed out remaining connections.");
    process.exit()
  });
  
   // if after 
   setTimeout(function() {
       console.error("Could not close connections in time, forcefully shutting down");
       process.exit()
  }, 10*1000);
}

// listen for TERM signal .e.g. kill 
process.on ('SIGTERM', gracefulShutdown);

// listen for INT signal e.g. Ctrl-C
process.on ('SIGINT', gracefulShutdown);

全部的代码为:

var express = require('express');
var app = express();

// listen on the specified port
var server = app.listen(8080);

// serve out content
app.get('/', function(req, res){
  var body = 'Hello World';
  res.setHeader('Content-Type', 'text/plain');
  res.setHeader('Content-Length', body.length);
  res.end(body);
});

// this function is called when you want the server to die gracefully
// i.e. wait for existing connections
var gracefulShutdown = function() {
  console.log("Received kill signal, shutting down gracefully.");
  server.close(function() {
    console.log("Closed out remaining connections.");
    process.exit()
  });
  
   // if after 
   setTimeout(function() {
       console.error("Could not close connections in time, forcefully shutting down");
       process.exit()
  }, 10*1000);
}

// listen for TERM signal .e.g. kill 
process.on ('SIGTERM', gracefulShutdown);

// listen for INT signal e.g. Ctrl-C
process.on ('SIGINT', gracefulShutdown);   

因为点击Ctrl-Shift-C之后就会触发process函数。

或者使用:Selection_081

Ctrl-z 之后,使用

ps aux | grep node
kill -9 PID

 

原文/本文:Node.js: 如何退出node命令或者node server