温馨提示×

centos怎么后台运行java

小樊
44
2026-10-05 16:46:16
栏目: 编程语言

在 CentOS 中后台运行 Java 程序,常见有以下几种方式,按推荐程度从高到低说明:


一、使用 nohup(最简单、最常用)

适合临时或简单场景。

nohup java -jar app.jar > app.log 2>&1 &

说明:

  • nohup:忽略挂断信号,关闭终端也能运行
  • > app.log:标准输出写入日志
  • 2>&1:错误输出也写入日志
  • &:后台运行

查看进程:

ps -ef | grep java

停止进程:

kill -9 进程ID

二、使用 systemd(✅ 推荐,生产环境)

CentOS 7+ 推荐方式,可开机自启、自动重启。

1. 创建服务文件

vi /etc/systemd/system/myapp.service

内容示例:

[Unit]
Description=Java App
After=network.target

[Service]
User=root
WorkingDirectory=/opt/app
ExecStart=/usr/bin/java -jar /opt/app/app.jar
SuccessExitStatus=143
Restart=on-failure

[Install]
WantedBy=multi-user.target

2. 启动服务

systemctl daemon-reload
systemctl start myapp
systemctl enable myapp

3. 查看状态与日志

systemctl status myapp
journalctl -u myapp -f

三、使用 screen(适合交互调试)

yum install -y screen
screen -S javaapp
java -jar app.jar
# Ctrl + A + D 退出但保持运行

恢复会话:

screen -r javaapp

四、使用 setsid(不依赖终端)

setsid java -jar app.jar > app.log 2>&1

✅ 推荐总结

场景 推荐方式
临时测试 nohup
生产环境 systemd
调试交互 screen

如果你是 CentOS 6,或想配置 JVM 参数 / 多实例,可以告诉我,我给你具体示例。

0 踩