Java之——Linux后台运行jar程序

78 篇文章 2 订阅
34 篇文章 0 订阅

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/53979625

本文是2017年的第一篇博文,给大家带来一篇如何在Linux上以后台服务的方式运行Jar程序,好了,不多说了,祝大家在新的一年里学业进步,事业有成,我们直接进入主题吧。

Linux以后台服务方式运行Jar有两种方式,下面一一为大家介绍:

方法一:nohup指令

Linux代码 

  1. nohup java -jar xx.jar >/dev/null  &    
输出文件为输出到空设备里。
方法二:编写shell后台开启

代码参考

  1. #! /bin/sh    
  2.     
  3. #启动方法      
  4. start(){    
  5.  now=`date "+%Y%m%d%H%M%S"`    
  6.  exec java -Xms128m -Xmx2048m -jar /var/www/JavaWork/cmpp.jar 5 >"$now"_bidcheck.log &    
  7.  #java -Xms128m -Xmx2048m -jar cmpp.jar 5 > log.log &    
  8.  #tail -f result.log    
  9. }    
  10. #停止方法    
  11. stop(){    
  12.  ps -ef|grep java|awk '{print $2}'|while read pid    
  13.  do    
  14.     kill -9 $pid    
  15.  done    
  16. }    
  17.     
  18. case "$1" in    
  19. start)    
  20. start    
  21. ;;    
  22. stop)    
  23. stop    
  24. ;;      
  25. restart)    
  26. stop    
  27. start    
  28. ;;    
  29. *)    
  30. printf 'Usage: %s {start|stop|restart}\n' "$prog"    
  31. exit 1    
  32. ;;    
  33. esac 

来自:http://blog.csdn.net/l1028386804/article/details/53979625

亲测:

nohup java -jar loginauth.jar >/loginauth.out 2>&1 &
nohup java -jar loadbalance.jar >/loadbalance.out 2>&1 &
nohup java -jar game.jar >/game.out 2>&1 &



### 回答1: 要在Linux后台运行Java JAR包,可以使用以下命令: nohup java -jar your_jar_file.jar & 其中,nohup命令可以让程序后台运行,即使终端关闭也不会停止运行。&符号可以让程序后台运行,而不占用当前终端。 你需要将your_jar_file.jar替换为你要运行的JAR包的文件名。如果JAR包需要参数,可以在命令后面添加参数。 例如,如果你要运行名为myapp.jarJAR包,并且需要传递参数arg1和arg2,可以使用以下命令: nohup java -jar myapp.jar arg1 arg2 & 这样,myapp.jar将在后台运行,并且可以接收arg1和arg2参数。 ### 回答2: 在Linux系统中,如果想要运行Javajar包并且在后台运行,可以使用如下几种方法: 1. 使用nohup命令:nohup命令可以使进程在后台运行,即使关闭终端,进程也能继续运行。具体操作方式如下: ``` nohup java -jar jar包路径 & ``` 说明: nohup:表示使用nohup命令运行程序java -jar jar包路径:表示运行Javajar包路径; &:表示将进程转入后台运行。 2. 使用screen命令:screen命令可以创建一个虚拟终端,将进程放到该虚拟终端中运行,并在终端关闭时仍能保持运行。具体操作方式如下: ``` screen -S 进程名 java -jar jar包路径 ``` 说明: screen -S 进程名:表示创建名为进程名的虚拟终端; java -jar jar包路径:表示运行Javajar包路径。 使用screen命令运行程序后,可以按下“Ctrl+A D”组合键退出虚拟终端,并在后台继续运行程序。 3. 使用后台服务:可以将Javajar包打包成一个服务,在系统启动时自动运行该服务。具体操作方式如下: 编写服务脚本: 将以下内容保存为一个脚本文件,例如myservice: ``` #!/bin/sh ### BEGIN INIT INFO # Provides: myservice # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start or stop myservice # Description: Start or stop myservice ### END INIT INFO case "$1" in start) nohup java -jar jar包路径 & echo "myservice started." ;; stop) ps -ef | grep java | grep jar包路径 | awk '{print $2}' | xargs kill -9 echo "myservice stopped." ;; *) echo "Usage: /etc/init.d/myservice {start|stop}" exit 1 ;; esac exit 0 ``` 说明: 将java -jar jar包路径替换为实际运行的Javajar包路径; service脚本中start表示启动服务,stop表示停止服务; 安装服务: 将上述编写好的服务脚本myservice保存到/etc/init.d目录下,然后使用如下命令安装服务: ``` chmod +x /etc/init.d/myservice update-rc.d myservice defaults ``` 说明: chmod +x /etc/init.d/myservice:表示授权脚本执行权限; update-rc.d myservice defaults:表示将该服务添加到启动项,使系统启动时自动运行该服务。 最后,启动和停止服务可以使用如下命令: ``` service myservice start service myservice stop ``` 以上是在Linux系统中运行Javajar包并在后台运行的几种方法,需要注意的是根据实际情况选择使用哪种方法。 ### 回答3: 在Linux系统下运行Java jar包,可以通过使用命令行或者编写脚本的方式来实现。通常情况下,我们希望将Java应用程序运行在后台,以避免终端关闭或者操作系统的重启等情况导致进程被停止。下面是具体的操作步骤: 1. 开启终端,进入应用程序的目录。一般来说,Java应用程序是打包为jar文件的。所以首先需要切换到jar文件所在的目录。 2. 编写脚本文件。首先需要创建一个脚本文件如start.sh,然后在里面添加如下命令: nohup java -jar filename.jar > log.txt 2>&1 & 其中,nohup是一个常用的命令,它可以让进程在后台运行,即使终端关闭或登出,进程也能够持续运行。以filename.jar代表实际的jar文件名,log.txt是输出日志文件名,2>&1是将错误信息输出到标准输出中。 3. 运行脚本文件。打开终端,进入脚本所在的目录,然后运行如下命令: bash start.sh 这样就能够启动Java应用程序,并在后台运行了。此时可以使用ps命令查看进程的运行状态。 4. 停止Java应用程序。当需要终止Java应用程序时,可以使用kill命令,具体命令如下: ps -ef | grep filename.jar 找到进程号,然后使用kill命令停止程序: kill PID 其中PID代表实际的进程号。 总之,以上这些步骤可以帮助你在Linux系统下后台运行Java应用程序,并且能够方便地进行程序的终止和调试。如果需要更为复杂的操作,可以参考其他Linux相关的文档或者教程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值