导航:首页 > 编程语言 > 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后台运行相关的资料

热点内容
华为自动同步数据在哪里关 浏览:526
网络人身侵权权是什么意思 浏览:429
巨人的工具中文版下载地址 浏览:231
java周转换为日期 浏览:206
苹果电脑复制文件夹 浏览:575
想学习机器人编程哪个学校好 浏览:737
手机电信网络怎么样 浏览:85
有什么可以做无货源的app 浏览:926
什么是pct文件 浏览:218
哪里vr编程培训好 浏览:426
js弹窗并且刷新页面 浏览:393
什么是Revit的项目样板文件 浏览:354
三星g975u1支持什么网络 浏览:993
苹果程序员工资 浏览:185
一台电脑一共有多少dll文件 浏览:561
js点击按钮弹出div 浏览:152
iphone6splus无线网络 浏览:542
哪个文件夹是放ps插件的 浏览:802
lg2是什么文件 浏览:660
冻结qq号能防申诉吗 浏览:861

友情链接