Linux上启动和停止jar

linux 后台运行jar

在Linux系统中,要想让jar包在后台运行,可以使用nohup命令和&符号。nohup命令可以使进程在后台不受挂起信号影响的执行,而&符号则是将任务放入后台执行。

以下是一个简单的命令示例,它将启动一个jar包,并将输出重定向到当前目录下的output.log文件中:

复制代码
nohup java -jar your-application.jar > output.log 2>&1 &

解释:

  • nohup:允许命令在你退出会话后继续运行。

  • java -jar your-application.jar:用于启动jar包的命令,这里需要替换成你的jar文件名。

  • >:重定向标准输出到文件。

  • output.log:输出文件的名称。

  • 2>&1:将标准错误也重定向到标准输出(在这里即output.log文件)。

  • &:将任务放入后台执行。

执行上述命令后,你的jar将在后台运行,并且输出会被记录在output.log文件中。如果你需要将进程放到一个特定的任务列表,可以使用screentmux等工具。

linux 查看后台运行jar

在Linux系统中,要查看后台运行的jar文件,可以使用ps命令结合grep命令来查找Java进程。以下是一个示例命令,用于查找所有后台运行的jar文件:

复制代码
ps -ef | grep 'java -jar'

这个命令会列出所有包含java -jar命令的进程。如果你知道jar文件的确切名称,可以直接通过grep搜索它:

复制代码
ps -ef | grep 'your-jar-filename.jar'

如果你想要查看进程的详细信息,如CPU和内存使用情况,可以使用tophtop命令,并通过进程ID(PID)来过滤:

复制代码
top -p PID

linux 停止运行jar

要在Linux系统中停止正在运行的jar文件,你可以使用kill命令配合jar进程的进程ID(PID)。首先,你需要找到jar进程的PID。

1.使用ps命令结合grep来查找jar进程的PID。例如,如果你的jar包名为your-app.jar,可以使用以下命令:

复制代码
ps -ef | grep your-app.jar

这将列出所有包含your-app.jar字符串的进程。你会看到形如java -jar your-app.jar的命令行,在其左边的第二列是该进程的PID。

2.使用kill命令发送信号到指定的PID以停止进程。你可以发送SIGTERM信号来优雅地停止进程,或者使用SIGKILL来强制停止。例如,如果PID是1234,可以使用以下命令:

复制代码
kill 1234
# 或者强制停止
# kill -9 1234

如果你希望使用一行命令找到PID并停止进程,可以使用以下命令:

复制代码
kill $(ps -ef | grep your-app.jar | grep -v grep | awk '{print $2}')
# 或者强制停止
# kill -9 $(ps -ef | grep your-app.jar | grep -v grep | awk '{print $2}')

请注意,强制停止(SIGKILL)可能会导致数据丢失或者其他问题,只有在进程无法正常终止时才应该使用。

相关推荐
fiveym20 分钟前
01 - iPXE + Clonezilla 网络装机原理解析
linux·运维·服务器·网络
虎头金猫33 分钟前
如何在群晖NAS上通过Docker部署CloudSaver?群晖部署CloudSaver教程|聚合资源搜索并实现远程访问
运维·服务器·网络·python·docker·容器·pandas
反转180度1 小时前
Qt 6 + C++17 实现 SFTP 批量部署:工业设备运维工具实战解析
运维·c++·qt
雨辰AI2 小时前
RAG 知识库搭建:基于人大金仓构建信创运维问答机器人|全栈国产化落地完整版
运维·ai·机器人·ai编程
-今昭-2 小时前
Ansible
linux·运维·ansible
星野川崎2062 小时前
电商多店运维:云机长期挂机频繁掉线、账号无故风控原因剖析与解决方案
大数据·运维·云计算·电商
mounter6253 小时前
MACsec 全景解析:从技术演进、核心架构到 DPU 硬件卸载与 K8s 大规模调度实战
linux·kubernetes·linux kernel·kernel·macsec
IT邦德4 小时前
Dify1.6基于ubuntu系统的部署实战
linux·运维·ubuntu
蓝速科技5 小时前
蓝速科技会议电子门牌规模化部署与运维成本实测
运维·科技
许彰午5 小时前
# allbytaskid——一个接口扛六个DataStore
运维·服务器·php