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