linux 运行/关闭jar 包

1. 在Linux中运行jar包: 直接用java -jar xxx.jar,当退出或关闭shell时,程序就会停止掉。

   以下方法可让jar运行后一直在后台运行:

   java -jar XXX.jar &  

问题:

当前窗口不被锁定,输出的日志会显示在屏幕上,当关闭窗口的时候,实验之后并不会停止执行。

2. nohup 不挂断运行的命令,当终端或者账户关闭的时候,程序依旧运行。

    当前的命令默认会把日志输出到nohup.out文件中

    nohup java -jar XXX.jar &  
     
     
    指定输出日志文件
    nohup java -jar XXX.jar >log.out &

 

  例如:jar包名称叫zentao.jar

 命令如下:nohup java -jar zentao.jar >zentao.log &

 

关闭jar程序.

如果想杀掉运行中的jar程序,要先找到对应的pid.查看进程命令为:

ps aux|grep zentao.jar

将会看到此jar的进程信息

root      3863  1.2  2.7 7815468 450984 ?      Sl   11:44   0:16 java -jar zentao.jar
root      4614  0.0  0.0 112724   984 pts/0    R+   12:06   0:00 grep --color=auto zentao.jar

其中3863则为此jar的pid,杀掉命令为

kill -9 3863

   

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 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系统,如果想要运行Java的jar并且在后台运行,可以使用如下几种方法: 1. 使用nohup命令:nohup命令可以使进程在后台运行,即使关闭终端,进程也能继续运行。具体操作方式如下: ``` nohup java -jar jar路径 & ``` 说明: nohup:表示使用nohup命令运行程序; java -jar jar路径:表示运行Java的jar路径; &:表示将进程转入后台运行。 2. 使用screen命令:screen命令可以创建一个虚拟终端,将进程放到该虚拟终端运行,并在终端关闭时仍能保持运行。具体操作方式如下: ``` screen -S 进程名 java -jar jar路径 ``` 说明: screen -S 进程名:表示创建名为进程名的虚拟终端; java -jar jar路径:表示运行Java的jar路径。 使用screen命令运行程序后,可以按下“Ctrl+A D”组合键退出虚拟终端,并在后台继续运行程序。 3. 使用后台服务:可以将Java的jar成一个服务,在系统启动时自动运行该服务。具体操作方式如下: 编写服务脚本: 将以下内容保存为一个脚本文件,例如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路径替换为实际运行的Java的jar路径; 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系统运行Java的jar并在后台运行的几种方法,需要注意的是根据实际情况选择使用哪种方法。 ### 回答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相关的文档或者教程。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值