【问题标题】:Running a background process with Node.JS使用 Node.JS 运行后台进程
【发布时间】:2014-05-29 23:37:19
【问题描述】:

我正在尝试使用 Node.JS 通过 restify 提供一组 Web 服务。其中一个服务接收一些参数,然后通过使用子进程的方法 exec 在 Linux 上启动一个进程,作为参数传递给 exec 类似:“nohup program &”。该进程启动没有任何问题,但即使使用 nohup,它也会在短时间间隔后被杀死。我想知道是否有另一种方法可以通过 Node.JS 在后台启动进程。我也尝试过使用子进程的spawn方法,但是似乎没有启动该进程。

【问题讨论】:

标签: javascript node.js


【解决方案1】:

所以nohup& 在这种情况下都不合适。这些是人类使用交互式外壳时的实用程序。当您以编程方式启动子进程时,您不需要它们。只需直接通过可执行路径/名称启动您的进程。默认情况下它将在“背景”中。 “前台”和“后台”的概念来自具有单个终端屏幕的单个用户的概念,但请记住,操作系统通常会并行运行许多进程,因此将某事称为“后台”作业在概念上并不完全正确。

您也不想要nohup,因为它又是一个专用工具,允许您退出父 shell 进程并让子进程继续运行,但在您的情况下,您想要默认行为,如果您的父进程node.js 进程退出,子工作进程也应该退出。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-10
    • 2022-11-02
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2021-04-06
    • 1970-01-01
    • 2011-05-30
    相关资源
    最近更新 更多