Products
GG网络技术分享 2025-11-12 11:28 6
在Linux系统中,将Java JAR包作为后台服务运行是一个常见的需求。
Systemd是新潮Linux系统中常用的系统和服务管理器。
/etc/systemd/system/myproject.service,并添加以下内容:ini Description=My Project Service After=network.target
User=yourusername ExecStart=/usr/bin/java -jar /path/to/your/jar/file.jar Restart=always
WantedBy=multi-user.target
替换yourusername和/path/to/your/jar/file.jar为实际的用户名和JAR包路径。
沉新鲜载入Systemd配置:
bash
sudo systemctl daemon-reload
bash
sudo systemctl start myproject
Supervisor是一个进程管理工具,Neng监控和控制进程。
bash
sudo apt-get install supervisor
/etc/supervisor/conf.d/myproject.conf,并添加以下内容:ini
command=/usr/bin/java -jar /path/to/your/jar/file.jar
autostart=true
autorestart=true
stderr_logfile=/var/log/myproject.err
stdout_logfile=/var/log/myproject.out
user=yourusername
directory=/path/to/your/project/directory
bash
sudo supervisorctl reread
sudo supervisorctl update
用nohup命令Neng将Java进程放在后台运行,并忽略挂断信号:
bash
nohup java -jar /path/to/your/jar/file.jar> /path/to/logfile.log 2>&1 &
screen是一个窗口管理器,Neng创建优良几个虚拟终端。
screen会话:bash
screen -S myproject
screen会话中运行Java JAR包:bash
java -jar /path/to/your/jar/file.jar
screen会话, 但进程会接着来在后台运行:bash
Ctrl+A + D
这些个方法各有优不优良的地方,具体选择哪种方法取决于你的具体需求和偏优良。
Demand feedback