使用Node.JS运行后台进程

Running a background process with Node.JS

本文关键字:后台进程 运行 JS Node 使用      更新时间:2023-09-26

我正在尝试使用Node.JS通过restify提供一组web服务。其中一个服务接收一些params,然后在Linux上使用子进程的exec方法在后台启动一个进程,并将其作为param传递给exec,类似于:"nohup program&"。进程启动时没有任何问题,但即使使用nohup,也会在短时间间隔后终止。我想知道是否有其他方法可以通过Node.JS在后台启动进程。我也尝试过使用子进程的方法spawn,但似乎没有启动进程。

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

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