linux 使用systemctl 设置java进程开机启动,管理springboot开机进程
該過程默認已經安裝jdk。java程序啟動方式有多重,列出如下幾種。
1、java -jar demo.jar
使用該命令程序在控制臺輸出啟動,當按下Ctrl+C和關閉終端時,程序會終止。輸出日志,在后面加上 > 文件名,如:java -jar demo.jar > demo.log
2、nohup java -jar demo.jar
該命令會后臺啟動,不打印啟動過程,但和上面的一樣,關閉終端和按下Ctrl+C時,程序終止。使用該命令會將日志重定向到默認的nohup.out文件中,如果修改指定文件,則在命令后面加上 >> 文件名,即 java -jar demo.jar > demo.log 。如下:
3、java -jar demo.jar &
該命令依舊會在控制臺輸出啟動過程,但按下Ctrl+C和關閉終端('關閉終端不是關閉服務器')時,程序依然運行,并不會關閉。輸出日志文件,在命令后面加上 > 文件名即可。即:java -jar demo.jar & > demo.log
4、nohup java -jar demo.jar &
該命令運行不打印啟動過程,按下Ctrl+C和關閉終端時,程序依然運行。指定日志文件命令為 nohup java -jar demo.jar >> demo.log &.
5、設置java程序開機自啟,首先創建文件,并賦權限 chmod +x demo.sh。
# vim /root/develop/demo.sh
#!/bin/bash
export JAVA_HOME="/root/jdk"
export PATH=$PATH:$JAVA_HOME/bin
nohup java -jar /root/develop/demo-0.0.1-SNAPSHOT.jar >> /root/develop/logs/demo.log &
6、注冊服務
#vim /etc/systemd/system/demo.service
[Unit]
Description=Java test service
After=network.target
[Service]
Type=forking
ExecStart=/bin/bash /root/develop/demo.sh
ExecStop=/bin/kill -s QUIT $MAINPID
[Install]
WantedBy=multi-user.target
7、設置服務
# systemctl daemon-reload
# systemctl start demo.service
# systemctl enable demo.service
# systemctl status demo.service
?
為了方便啟動jar項目,我們可以使用xxx.service方式。
1. 執行命令,進入到system目錄下:
cd etc/systemd/system2. 創建一個*.service 后綴的文件(設置為自己的項目服務名稱),編輯內容
vi harry-admin.service [Unit]Description=harry-admin service #服務描述[Service]WorkingDirectory=/home/kangaroo-parts/ #指定服務的工作目錄PrivateTmp=trueRestart=alwaysType=simple #服務啟動類型 可選類型有simple forkingExecStart=/usr/java/jdk1.8.0_121/bin/java -Xmx1024m -Xms512m -Xss256k -jar /home/kangaroo-parts/harry-admin.jar #啟動命令 ExecStop=/usr/bin/kill -15 $MAINPID #停止命令[Install]WantedBy=multi-user.target3. 重新載入systemd,掃描新的或有變動的單元
systemctl daemon-reload4. 啟動服務,使用:
systemctl start harry-admin 或systemctl start harry-admin.service5. 其他常用的命令:
systemctl status harry-admin #查看服務狀態systemctl stop harry-admin #停止服務systemctl start harry-admin #啟動服務systemctl reload harry-admin #重新加載#設置開機自啟動:systemctl enable harry-admin#或systemctl enable harry-admin.service# 又或者不想開機啟動:systemctl disable harry-admin#或systemctl disable harry-admin.service6. 拓展
在service中配置一下參數,可以遠程dug調試代碼
ExecStart=/usr/java/jdk1.8.0_121/bin/java -Xmx1024m -Xms512m -Xss256k -agentlib:jdwp=transport=dt_socket,serv總結
以上是生活随笔為你收集整理的linux 使用systemctl 设置java进程开机启动,管理springboot开机进程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Zabbix配置模板监控指定服务器主机
- 下一篇: 算法复习第四章动态规划