前言
Linux自啟(或開機(jī)自啟)
指的是在Linux系統(tǒng)啟動(dòng)時(shí)自動(dòng)運(yùn)行特定的程序或腳本。當(dāng)計(jì)算機(jī)啟動(dòng)時(shí),操作系統(tǒng)會(huì)按照一定的順序加載系統(tǒng)服務(wù)和配置,其中包括自動(dòng)啟動(dòng)一些應(yīng)用程序或服務(wù)。這些應(yīng)用程序或服務(wù)會(huì)在系統(tǒng)啟動(dòng)后自動(dòng)運(yùn)行,以提供特定的功能或服務(wù)。
開機(jī)自啟
的好處在于可以在系統(tǒng)啟動(dòng)時(shí)自動(dòng)恢復(fù)之前的工作狀態(tài),減少手動(dòng)干預(yù),同時(shí)確保特定的服務(wù)或應(yīng)用程序始終處于運(yùn)行狀態(tài),提供持續(xù)的服務(wù)。
sh腳本
是指Shell腳本,是一種在Unix/Linux系統(tǒng)上運(yùn)行的腳本文件,通常使用Shell編程語(yǔ)言來編寫。Shell是操作系統(tǒng)的一種命令行解釋器,它可以用來執(zhí)行操作系統(tǒng)命令、管理文件系統(tǒng)、處理文本數(shù)據(jù)等。
Shell腳本
是一個(gè)純文本文件,以.sh
擴(kuò)展名結(jié)尾。它包含一系列Shell
命令和控制結(jié)構(gòu),用于自動(dòng)化完成一系列任務(wù)。通過編寫Shell腳本,可以將一系列復(fù)雜的操作和任務(wù)集中到一個(gè)文件中,并通過運(yùn)行腳本來實(shí)現(xiàn)這些操作,從而簡(jiǎn)化了操作過程并提高了效率。
1、創(chuàng)建工作目錄
創(chuàng)建jar
部門的目錄,并且將jar
上傳到該目錄下
mkdir -p /home/java-server/test-demo
2、創(chuàng)建啟動(dòng)腳本
進(jìn)入jar
目錄:
cd /home/java-server/test-demo
創(chuàng)建腳本文件:
vim start.sh
啟動(dòng)腳本內(nèi)容:
#!/bin/sh
export LANG="en_US.UTF-8"
cd /home/java-server/test-demo
runMessage=`ps aux | grep \`cat pidfile.txt\``
projectStartCommand="/usr/local/java/jdk1.8.0_131/bin/java -jar xxx.jar"
if [[ $runMessage == *$projectStartCommand* ]]
then
echo "Application has starting ,restarting..."
kill -9 `cat pidfile.txt`
nohup /usr/local/java/jdk1.8.0_131/bin/java -jar xxx.jar -java.tmp.dir=/home/java-server/test-demo/temp >/dev/null 2>&1 & echo $! > pidfile.txt
else
echo "Application has stopped ,starting..."
nohup /usr/local/java/jdk1.8.0_131/bin/java -jar xxx.jar -java.tmp.dir=/home/java-server/test-demo/temp >/dev/null 2>&1 & echo $! > pidfile.txt
fi
- 腳本中
/home/java-server/test-demo
就是jar包
所在的,可以根據(jù)實(shí)際情況定。 -
xxx.jar
為實(shí)際的jar
包名稱。 -
/usr/local/java/jdk1.8.0_131/bin/java
為jdk環(huán)境所在路徑。
3、創(chuàng)建停止腳本
進(jìn)入jar
目錄:
cd /home/java-server/test-demo
創(chuàng)建腳本文件:
vim stop.sh
啟動(dòng)腳本內(nèi)容:
#!/bin/sh
cd /home/java-server/test-demo
PID=$(cat pidfile.txt)
if [ ${PID} ];
then
echo 'Application is stpping...'
echo kill $PID DONE
kill $PID
else
echo 'Application is already stopped...'
fi
4、設(shè)置開機(jī)自啟
進(jìn)入system:
# 進(jìn)入system
cd /usr/lib/systemd/system/
創(chuàng)建自啟腳本:
vim xxx.service
xxx.service為腳本的名稱,一般來就是jar包前綴名稱一致,比如:test-demo.service
內(nèi)容如下:
[Unit]
Description=xxx
After=network.target
[Service]
Type=forking
ExecStart=/home/java-server/test-demo/start.sh
ExecStop=/home/java-server/test-demo/stop.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
- Description:描述,一般為項(xiàng)目名稱
- ExecStart:開啟腳本位置
- ExecStop:停止腳本位置
設(shè)置腳本權(quán)限:
# 自啟文件
chmod 777 xxx.service
# 啟動(dòng)文件
chmod 777 /home/java-server/test-demo/start.sh
# 停止文件
chmod 777 /home/java-server/test-demo/stop.sh
加入自啟命令 :
systemctl daemon-reload
systemctl enable xxx.service
啟動(dòng)|停止命令:文章來源:http://www.zghlxwxcb.cn/news/detail-686391.html
# 啟動(dòng)
systemctl start xxx
# 停止
systemctl stop xxx
-
xxx
就是xxx.service
的前綴。
文章來源地址http://www.zghlxwxcb.cn/news/detail-686391.html
到了這里,關(guān)于腳本掌控,Linux上實(shí)現(xiàn)Spring Boot(JAR包)開機(jī)自啟的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!