如何停止基于节点服务器的间隔脚本?

How to stop node-server based interval script?

我正在使用 Expressjs 框架在 Nodejs 中创建一个应用程序。

我尝试使用 setInterval() JavaScript 方法在每分钟后执行一些脚本。

当我通过 node app.js 脚本 运行 成功启动我的服务器时。但是当我按 Ctrl+c 停止服务器并尝试重新启动它时,它说 3000(我的服务器端口)已经在使用中。

我无法重新启动我的服务器,也无法访问我的网站。我正在使用 Ubuntu.

我已经使用了以下所有命令,但它并没有停止。

  1. fuser -k 3000/tcp

  2. kill processNumber

  3. killall节点

代码:

 router.get("/trackplayers", function(req, res, next ) {
    // Run in every minute
    setInterval(function(){
       console.log('Players tracking is under process..');
    }, 60000);
 });

提前致谢!

一定要彻底退出进程。以下代码将优雅地终止快速应用程序。

var express = require("express");
var app = express();
var server = app.listen(3000);
// Respond to 'Ctrl+C'
process.on("SIGINT", function () {
  // stop accepting connections
  server.close(function () {
    // connections are closed
    // exit the process
    process.exit(0);
  });
});
// Server is shutting down
process.on("SIGTERM", function () {
  // stop accepting connections
  server.close(function () {
    // connections are closed
    // exit the process
    process.exit(0);
  });
});