服务后台运行

Java程序员应该遇到过类似这样的命令:

[root@localhost]# java -jar demo.jar

无论是在Windows还是Linux下,这样的命令执行,都会有这么一个问题:当你的cmd或者窗口Linux本地或者xshell远程terminal,当窗口关闭或者链接断开是时候,对应的子进程就会死掉了。但是,这不是开发或者运维人员所希望的。那么,如果起一个进程在后天运行,不会随着terminal关闭而终结,岂不是很开兴?当然方法是有的啦,对于一些hello world开发人员或者是调参人员来说可能不会接触到服务部署之类的工作,但还是有必要来学习一下的(只了解在Linux下)。

方法1:

最简单的方式:

[root@localhost]# java -jar demo.jar &

这样服务就可以后台启动,以下的命令就可以查看后台是否在正常运行:

[root@localhost]# ps -ef |grep demo.jar

 但是这种方式会有一个问题,比如在demo.jar启动过程中没有console信息输出,你也看不到服务是否能够正常启动起来。

方法2:

为了能够看到启动过程,就可以使用nohup命令了。一个基本的nohup命令格式如下:

[root@localhost]# nohup  java -jar demo.jar  >filename 2>&1 &

上边这一行命令有三个地方可以讲:

  • java -jar demo.jar(command)这个是基本启动服务的命令;
  • nohup启动方式,>filename 2>&1 这样的参数,是将启动过程的标准输出和标准错误输出重定向到指定的文件;
  • & 让着一整条命令后台方式启动。

command > filename 是将标准输出重定向到了文件filename,2>&1是将标准输出错重定向到了标准输出(也就是2代表的是输出错误)。

然后可以:

[root@localhost]#  tail -f filename

看到启动的这个过程。如果有什么异常,也是可以看到的。

后续根据接触到的东西在补充……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值