Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Node.JS运行后台进程_Javascript_Node.js - Fatal编程技术网

Javascript 使用Node.JS运行后台进程

Javascript 使用Node.JS运行后台进程,javascript,node.js,Javascript,Node.js,我试图使用Node.JS通过restify提供一组web服务。其中一个服务接收一些参数,然后在Linux上使用子进程的exec方法在后台启动一个进程,作为param传递给exec,比如:“nohup program&”。进程启动时没有任何问题,但即使使用nohup,它也会在短时间间隔后被终止。我想知道是否有其他方法可以通过Node.JS在后台启动进程。我也尝试过使用子进程的方法spawn,但该进程似乎没有启动。因此nohup和&在这种情况下都不合适。这些是当人类使用交互式shell时的实用程序。

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

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


您也不需要
nohup
,因为这是一个特殊用途的工具,允许您退出父shell进程并让子进程保持运行,但在您的情况下,您需要默认行为,即如果父节点.js进程退出,子工作进程也应退出。

可能重复的[Node.js workers/background processs][1]。[1]: