导航:首页 > 编程语言 > linuxjavajar后台运行

linuxjavajar后台运行

发布时间:2025-02-08 16:58:55

1. Jar包部署在linux后台永久运行

在Linux后台永久运行Jar包的部署方法主要有两种:

方法一使用nohup命令,语法为nohup java -jar xxx.jar &。此命令在后台运行指定的Java程序,不会因为关闭当前控制台或退出账户而停止运行。默认情况下,nohup命令会将程序的输出结果转移到nohub.out文件中,该文件位于程序执行的目录下。你可以自定义输出文件名称,例如nohup java -jar xxx.jar >out.file 2>&1 &。此命令将程序的输出和错误信息重定向到out.file文件,同时在后台执行程序。

方法二在执行命令时添加&,例如java -jar xxx.jar >out.log &。这样可以在后台运行程序,并可选择性地将控制台输出转移到文件out.log中。重要的是在退出shell会话时,正确使用exit命令,避免直接关闭终端窗口。直接关闭窗口会导致程序所在session被中断,从而导致后台进程结束运行。正确退出可以保持程序的持续运行。

2. Linux下运行jar包的几种方式

1 阻塞式方式

java -jar xxx.jar

特点: 当前终端的会话窗口被阻塞, 可按CTRL + C中断程序的运行, 或者直接关闭会话窗口 —— 此时jar程序将终止.

2 后台运行方式

# 通过"&"符号实现后台运行:

java -jar xxx.jar &

特点: 当前终端的会话窗口不会被阻塞, 但是如果关闭当前窗口, 程序将终止运行.

3 后台持续运行方式

# 通过"nohup"命令实现后台运行:

nohup java -jar xxx.jar &

nohup命令是不挂断运行命令的意思.

特点: 当用户退出或终端关闭时, 程序的运行不受影响.

说明: 用nohup命令运行任务时, 默认情况下这个任务的所有输出都将被重定向到nohup.out文件中, 除非另外指定输出文件. 指定输出文件方式为:

# 将输出重定向到xxx.log文件中:

nohup java -jar xxx.jar > xxx.log &

> 符号是重定向符, 实现: 把它之前命令的所有输出信息重定向到后面的文件中, 而不是显示到屏幕上.

3. linux下jar包启动命令,我用nohup java -jar + *.jar命令启动,此时命令

nohup java -jar + *.jar &
这样就可以再后台运行了。
liunx命令后+&为后台运行指令

4. Linux 中启动jar包命令

在Linux环境中,启动jar包时可能会遇到一些问题,尤其是在集成工具如Jenkins和GitLab CI中,如果直接使用`java -jar`命令启动,可能会导致程序运行后阻塞进程,导致jenkins任务无法正常结束。为了解决这个问题,有几种方式可以尝试:

首先,如果你希望启动jar包后不锁定窗口,可以使用`&`符号将命令置于后台运行,这样当前ssh窗口不会被锁定,但窗口关闭时程序会中止。然而,如果你需要窗口关闭后程序仍保持运行,可以使用`nohup`命令,它能确保即使账户退出或终端关闭,程序也能继续执行。nohup命令的一个特性是,默认情况下,所有输出会被重定向到nohup.out文件中,除非另有指定。

另一种方法是使用输出重定向`command >out.file`,这会将命令的输出内容定向到out.file文件中,而非直接显示在屏幕上。这样可以查看日志,同时保持命令在后台运行。

要查看所有后台运行的任务,你可以使用`jobs`命令,它会列出作业编号及其状态,通过`fg + 编号`可以将作业调回前台控制。

总的来说,根据你的需求选择合适的方法,如后台运行保持窗口可用、或使用nohup确保程序持续运行,通过输出重定向管理日志,以及监控后台任务,都能帮助你更好地管理和控制Linux中启动的jar包。

5. 怎么把java的.jar程序在linux上注册成服务,设置开机自启动

您好,具体可以依据您的系统版本来。
有的系统不支持systemd只能用init.d
首先写启动代码
#!/bin/bash
java jar文件回1 & # 有多个程序答时注意加上&号
java jar文件2 &
保存到init-java文件里
如果您的系统支持init.d那么可以放在/etc/init.d目录下,注意可执行权限0755或者0777。
不支持init.d可以使用systemd实现
将init-java移动到/usr/bin/
然后写一个systemd服务
[Unit]
Description=Virtualbox Kernel Loader
[Service]
ExecStart=/usr/bin/init-java
[Install]
WantedBy=multi-user.target
保存到/etc/systemd/system/init-java.service
然后systemctl enable init-java即可。

阅读全文

与linuxjavajar后台运行相关的资料

热点内容
excel只打开一个主程序 浏览:78
word2003左侧目录 浏览:715
苹果的文件夹图标 浏览:390
通信数据传输差是什么原因 浏览:955
哪些纸质文件不能扔 浏览:847
苹果手机照片保存哪个app 浏览:596
电脑找不到桌面文件 浏览:15
信息处理技术员教程pdf 浏览:651
文件校验码有哪些 浏览:263
win电脑桌面文件后缀怎么显示 浏览:868
面向地向程序设计 浏览:298
怎样删除文件夹中同样内容的东西 浏览:382
白癜风查什么数据 浏览:267
ci框架js数字分页跳转到指定页面 浏览:539
u盘复制粘贴文件的速度 浏览:957
华为畅享手机为什么不能连5G网络 浏览:644
乐1pro刷系统升级 浏览:803
怎么往数据库添加新手机号段 浏览:172
电脑垃圾软件文件删不掉 浏览:604
查看windows10版本号 浏览:42

友情链接