博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java -jar 与nohup的区别
阅读量:6265 次
发布时间:2019-06-22

本文共 843 字,大约阅读时间需要 2 分钟。

——作为java程序员,经常会遇到这样一个问题,打个jar包,测试或者上线生产,于是乎面临的选择来了,java –jar or nohup?

 

下面我来扒一扒:

一、    java -jar a.jar &

 

直接启动jar文件,在当前会话进程中开启一个子进程来运行程序,这个子进程会随着会话进程的结束而结束。

 

这种情况适合短时间测试用。

 

二、     nohup java -jar a.jar&

 

先交代一下名词:

 

hangup (挂断),终端退出时会发送 hangup 信号来通知其关闭所有子进程。

 

nohup(不挂断,忽略挂断信号)

 

nohup 的使用是十分方便的,只需在要处理的命令前加上 nohup 即可,标准输出和标准错误缺省会被重定向到 nohup.out 文件中。一般我们可在结尾加上"&"来将命令同时

 

放入后台运行,也可用">filename2>&1"来更改缺省的重定向文件名。

 

这种情况适合在生产环境长时间运行。

nodejs 在linux上后台运行

1.用forever  进行管理

npm install -g foreverforever start index.js
 

2. 用自带的服务nohup

nohup node index.js&nohup node index.js > myLog.log 2>&1 &
nohup问题:
但是有时候在这一步会有问题,当把终端关闭后,进程会自动被关闭,察看nohup.out可以看到在关闭终端瞬间服务自动关闭。
有个操作终端时的细节:当shell中提示了nohup成功后还需要按终端上键盘任意键退回到shell输入命令窗口,然后通过在shell中输入exit来退出终端;而我是每次在nohup执行成功后直接点关闭程序按钮关闭终端。所以这时候会断掉该命令所对应的session,导致nohup对应的进程被通知需要一起shutdown。

转载于:https://www.cnblogs.com/cosyer/p/7828258.html

你可能感兴趣的文章
装机 win7 64 IE11
查看>>
约瑟夫环问题
查看>>
五子棋
查看>>
和为S的连续正数序列
查看>>
三周的 软件工程实践课 课程安排建议
查看>>
解决冲突-git入门教程
查看>>
修改ssh端口后无法连接ssh了?
查看>>
[android] 隐式意图的配置
查看>>
HQL: Hibernate查询语言
查看>>
SQL优化之六脉神剑
查看>>
java生成随机字符串uuid
查看>>
黄永成-thinkphp讲解-个人博客讲解26集
查看>>
Mongodb(2)创建数据库,删除数据库,创建集合,删除集合,显示文档内容
查看>>
Tomcat禁止显示目录和文件列表
查看>>
linux mmap 详解【转】
查看>>
注释中不允许出现字符串 "--"。
查看>>
client 如何找到正确的RegionServer(HBase -ROOT-和.META.表)
查看>>
协议森林16 小美的桌号(DHCP协议)
查看>>
简单的ajax封装
查看>>
PHP初学者必须掌握的10个知识点
查看>>