需求描述
原来研发把Java程序都是用到其工作目录nohub java -jar xxx.jar方式启动,将Java程序配置为systemd启动停止的方式,更方便日常管理
原先的Java程序启动停止用法
// 停止JAVA程序的方法 root@server:~# kill -9 $(ps -ef|grep fetch-82935c6a252fb-1.0-SNAPSHOT.jar |grep -v grep|awk '{print $2}') // 启动JAVA程序的方法 root@server:~# nohup java -Xms256m -Xmx4096m -jar fetch-82935c6a252fb-1.0-SNAPSHOT.jar >> /dev/null &
修改操作:
将如下的内容写入文件 /etc/systemd/system/fetch_data.service
其中fetch_data为自己定义的一个名字 不要占用原有服务的名称 且最好都是小写字母
[Unit] Description=JAVA Service FetchData After=network.target [Service] Type=simple User=tmn Restart=on-failure RestartSec=5s ExecStartPre=cd /opt/user/run/FetchDataWorkDir/ ExecStart=/app/jdk/jdk1.8.0_202/bin/java -Xms256m -Xmx4096m -jar /opt/user/run/FetchDataWorkDir/fetch-82935c6a252fb-1.0-SNAPSHOT.jar [Install] WantedBy=multi-user.target
# 重新加载修改后的service文件 root@server:~# systemctl daemon-reload
# 修改后的启动方式和停止方式 root@server:~# systemctl start fetch_data # 启动 root@server:~# systemctl restart fetch_data # 重启 root@server:~# systemctl stop fetch_data # 停止 root@server:~# systemctl status fetch_data # 查看状态