You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux如何查看进程ID?后台运行jar包如何无需记录PID稳定终止进程?

Java 应用进程稳定管理方案

bg命令仅能管理当前终端会话内创建的后台进程,服务器重启后原进程会全部销毁,旧会话也随之失效,因此无法通过bg找到对应进程。


方案1:临时免记PID查找/终止进程(无需修改现有启动逻辑)

  • 查找对应java进程PID:pgrep -f java.jar
    该命令会匹配完整命令行中的java.jar关键字,精准返回对应进程ID,避免误匹配其他Java应用
  • 一键终止对应进程:pkill -f java.jar
  • 操作前校验进程是否正确:ps aux | grep java.jar

方案2:长期稳定管理方案(推荐,支持开机自启、统一生命周期管理)

使用Linux系统自带的systemd服务管理你的Java应用,完全不需要手动记录PID,服务器重启后可自动拉起应用,更新jar包时仅需执行一条重启命令即可。

配置步骤

  1. 新建systemd服务配置文件,路径为/etc/systemd/system/my-java-app.service,填入以下内容(根据你的实际路径、用户修改):
[Unit]
Description=My Java Application
After=network.target

[Service]
User=你的运行用户名(建议不使用root)
WorkingDirectory=jar包所在目录绝对路径,例如/opt/java-app
ExecStart=/usr/bin/java -jar java.jar >> logy.log 2>&1
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
  1. 重载systemd配置使服务生效:sudo systemctl daemon-reload

常用操作命令

  • 启动应用:sudo systemctl start my-java-app
  • 停止应用:sudo systemctl stop my-java-app
  • 重启应用(更新jar包后执行即可):sudo systemctl restart my-java-app
  • 查看应用运行状态:sudo systemctl status my-java-app
  • 设置开机自动启动:sudo systemctl enable my-java-app
  • 实时查看应用日志:sudo journalctl -u my-java-app -f

内容的提问来源于stack exchange,提问作者sahil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 20:36:03