【问题标题】:How to close a Terminal window while executing a file with node.js without stopping the process?如何在不停止进程的情况下使用 node.js 执行文件时关闭终端窗口?
【发布时间】:2012-08-21 10:32:10
【问题描述】:

当我使用 node.js 执行文件时(通过键入“node example.js”,可能是 http 服务器),然后,当我关闭终端窗口(Mac OS X Lion)时,进程停止并且不会t 不再回答请求。如果我输入“ctrl c”或“ctrl z”,也会发生同样的情况。如何在不停止进程的情况下关闭终端,以便我的服务器继续响应请求。

【问题讨论】:

  • 添加&node example.js &
  • @JonathanOng:这还不够。
  • 我相信这就是 nohup 实用程序的用途。尝试使用它运行您的进程。
  • @JonathanOng 即使使用&,父进程仍然是您所在的终端,并且该进程仍然连接到 tty。当您终止终端时,该进程将终止。 nohup 命令是正确的。它实际上与进程分离(因此它的 ppid = 1)。

标签: macos node.js terminal


【解决方案1】:

结合使用 nohup 前缀命令(以防止进程在终端关闭时被终止)和 & 后缀(在后台运行进程,以免占用终端) : nohup node example.js &

您还应该查看forever 或类似工具,它们也会在服务器崩溃时自动重新启动服务器,以及nodemon 在您更改代码时会自动重新启动它。

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多