Linux使用systemctl设置程序开机自启动
1 說明
設(shè)置開機(jī)自啟動(dòng),需要用到systemctl工具。
systemctl是一個(gè)systemd工具,主要負(fù)責(zé)控制systemd系統(tǒng)和服務(wù)管理器。
systemd是一個(gè)系統(tǒng)管理守護(hù)進(jìn)程、工具和庫的集合,用于取代System V初始進(jìn)程。Systemd的功能是用于集中管理和配置類UNIX系統(tǒng)。
在Linux生態(tài)系統(tǒng)中,Systemd被部署到了大多數(shù)的標(biāo)準(zhǔn)Linux發(fā)行版中,只有為數(shù)不多的幾個(gè)發(fā)行版尚未部署。
2 準(zhǔn)備
os:redhat7.0
systemctl –version : systemd 208
weblogic version:12
3 將程序設(shè)置成系統(tǒng)服務(wù)
3.1 編寫系統(tǒng)服務(wù)文件
# vi /etc/systemd/system/myapp.service ---------------------------------------------------- #如果/etc/systemd/system/myapp.service有過修改,需要進(jìn)行更新,執(zhí)行下面這個(gè)命令 #systemctl daemon-reload #查看服務(wù)是否被正確識(shí)別 #systemctl list-unit-files|grep myapp [Unit] #服務(wù)描述,寫有意義的內(nèi)容,便于識(shí)別 Description=myapp service[Service] Type=simple #設(shè)置應(yīng)用的工作目錄 WorkingDirectory=/myapp_path ExecStart=/myapp_path/startMyApp.sh ExecStop=/bin/kill -s TERM $MAINPID[Install] WantedBy=multi-user.target3.3 查看系統(tǒng)服務(wù)文件是否被識(shí)別
# systemctl list-unit-files|grep myapp -------------------------- myapp.service disabled至此,系統(tǒng)服務(wù)文件編寫完成。
4 編寫程序啟動(dòng)腳本
# vi /myapp_path/startMyApp.sh ---------------------------------------------------- #!/bin/sh #上面這行很重要,會(huì)報(bào)203錯(cuò)誤 #最好先cd到程序目錄 cd /myapp_path #使用java的絕對(duì)路徑。如果找不到j(luò)ava可執(zhí)行程序,也會(huì)報(bào)203錯(cuò)誤 /usr/java/jdk1.8/bin/java -jar myapp.jar啟動(dòng)腳本設(shè)置執(zhí)行權(quán)限
# chmod +x myapp.sh5 測試系統(tǒng)服務(wù)
5.1 啟動(dòng)系統(tǒng)服務(wù)
# systemctl start myapp.service5.2 停止系統(tǒng)服務(wù)
# systemctl stop myapp.service5.3 查看系統(tǒng)服務(wù)是否成功啟動(dòng)
# systemctl status myapp.service -l5.4 可能碰到的203錯(cuò)誤
ExecStart參數(shù)指定啟動(dòng)腳本路徑不對(duì),會(huì)提示203錯(cuò)誤。(改對(duì)就好了。)
啟動(dòng)程序腳本(.sh文件)中未指定腳本解析器,會(huì)提示203錯(cuò)誤。(在文件開頭添加:#!/bin/sh)
啟動(dòng)程序腳本(.sh文件)沒有執(zhí)行權(quán)限,會(huì)提示203錯(cuò)誤。(chmod +x myapp.sh)
6 將服務(wù)設(shè)置成開機(jī)自啟動(dòng)
# systemctl enable myapp.service # systemctl list-unit-files|grep myapp -------------------------- myapp.service enabled反向命令:
# systemctl disable myapp.service # systemctl list-unit-files|grep myapp -------------------------- myapp.service disabled6 查看服務(wù)的控制臺(tái)日志
相當(dāng)于tail -f。
# journalctl -flu myapp.service總結(jié)
以上是生活随笔為你收集整理的Linux使用systemctl设置程序开机自启动的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搜狐张朝阳:我对网红这个词不排斥,觉得特
- 下一篇: RedHat7.0启动后黑屏