首页 > 编程语言 >记一次在服务器上运行node.js程序时无法通过nohup xxx & 方式挂起的问题

记一次在服务器上运行node.js程序时无法通过nohup xxx & 方式挂起的问题

时间:2023-10-19 17:35:55浏览次数:43  
标签:node forever log js start nohup main

      由于业务需求 每天要在服务器上整理一组数据,为了方便就用node.js来写了。但是运行的时候发现了一个问题 明明使用了nohup main.js &的方式后台运行了程序 但是一旦我关闭了shell控制台 这个后台运行的程序也会跟着终止掉,不知道是什么原因,于是采用forever.js的方式来运行项目,记录一下过程。

  1.直接通过npm全局安装foreve.js

$ npm i forever -g

      2. 使用forever启动项目

$ forever start -l /home/node_project/forever.log -m 0 -a main.js &

 注:-m 0 指js执行终止后重试0次 这样就不会循环执行同样的js文件了 如果需要项目宕掉后自动重启 可以将参数调整为大于0的数字

 3. forever.js的常用命令记录如下:(从别的地方粘贴过来的)

启动相关

// 1. 简单的启动
forever start main.js &

// 2. 指定forever日志输出位置,默认位置为: ~/.forever/forever.log
forever start -l forever.log main.js &

// 3. 指定main.js中的日志信息和错误日志输出文件,
// -o 就是console.log输出的信息,-e 就是console.error输出的信息
forever start -o out.log -e err.log main.js &

// 4. 追加日志,forever默认是不能覆盖上次的启动日志
forever start -l forever.log -a main.js &

// 5. 监听当前文件夹下的所有文件改动,并重启服务 
forever start -w main.js &

// 6. 显示所有forever运行的任务列表
forever list

停止操作
// 1. 停止所有运行的node App
forever stopall

// 2. 停止其中一个node App
forever stop main.js
// 也可以先通过 forever list 找到对应的程序id 然后执行如下命令关闭:
forever stop [id]

重启操作
// 1. 重新启动所有任务
forever restartall
// 2. 重启其中一个任务
forever restart main.js

 

标签:node,forever,log,js,start,nohup,main
From: https://www.cnblogs.com/seizedays/p/17775214.html

相关文章

  • jsmind.js 思维导图
    参考npminstalljsmind--saveimport'jsmind/style/jsmind.css';importjsMindfrom'jsmind/js/jsmind.js';require('jsmind/js/jsmind.draggable.js');require('jsmind/js/jsmind.screenshot.js');文档......
  • js分片上传&断点续传
    原理js将大文件分成多分,全部上传成功之后,调用合并接口合成文件。如果传输中断,下次上传的时候过滤掉已经上传成功的分片,将剩余的分片上传,成功之后合并文件。前置条件获取uoloadId接口(用于标记分片)分片上传接口合成文件接口(后端自动合成则不需要)查询已上传的分片列表接口(断点......
  • linux centos7 部署 nodejs 的 express
      链接:https://www.youtube.com/watch?v=oGbLL1_0q64 yuminstallgcc-c++openssl-develmake-ycd/tmpcurl-sLhttps://rpm.nodesource.com/setup|bash-yuminstall-ynodejsnpminstall-gexpress-generatoruseraddusernamepasswdusernamemkdirfirst_project......
  • 关于 js ajax readyState 的阐述
    为了弄清楚ajaxreadyState的具体意义,做了如下测试:index.html1<!DOCTYPEhtml>2<htmllang="en">3<head>4<metacharset="UTF-8"/>5<metaname="viewport"content="width=device-width,init......
  • xStream完美转换XML、JSON
    xStream框架xStream可以轻易的将Java对象和xml文档相互转换,而且可以修改某个特定的属性和节点名称,而且也支持json的转换;前面有介绍过json-lib这个框架,在线博文:以及Jackson这个框架,在线博文:它们都完美支持JSON,但是对xml的支持还不是很好。一定程度上限制了对Java对象的描述,不能让xml......
  • js实现文件切片上传,断点续传
    断点续传:顾名思义,继续上次断开的点,继续上传。思路整理:拿到文件,对文件进行fingerprint=md5(file),得到文件指纹。将指纹保存服务器。切割文件,分段上传,每次上传一段。服务器根据指纹进行索引判断文件上传进度,直到文件的全部片段上传完毕。以下文字没有完整的代码,只有基础......
  • html+css3+anime.js实现线条来回滑动且渐隐动画
    效果: 代码:<!DOCTYPEhtml><html><head><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/><metaname="viewport"content="width=device-width,initial-sc......
  • vue2和vue3导出页面为PDF格式:jspdf和html2canvas
    一、vue2导出PDF使用步骤1、安装html2canvas,将页面html转换成图片npminstall--savehtml2canvas卸载:npmuninstallhtml2canvas指定版本安装:[email protected]、安装jspdf,将图片生成pdfnpminstalljspdf--save3、定义全局函数在指......
  • jeecg中jsp页面合计问题
    问题:在一个tbody下,如何数量和价格,合计出单项的金额,同时在最下面合计出总金额 页面的jsp代码如下: <tableborder="0"cellpadding="2"cellspacing="0"id="bgLwg_table"><trbgcolor="#E6E6E6"><tdalign="center&......
  • html+css3+anime.js实现文字故障动画
    记录一个很酷的动画,效果如图: 是基于html+css3+anime.js实现的,看了眼代码,其实是默认文字的div中定位了几个相同的文字块,利用clip-path这个属性去裁剪展示其中的一部分,用于展示故障的效果,动画则是使用anime.js去循环改变X与Y轴的位置,同时调整绘制的颜色,demo代码如下:<!DOCTYPEh......