Linux系統下systemctl常用命令以及service檔案配置
linux服務管理的兩種方式為service和systemctl。systemd是Linux系統最新的初始化系統(init),作用是提高系統的啟動速度,儘可能啟動較少的程式,儘可能併發啟動更多程式。systemd對應的程式管理命令是systemctl。
啟揚智慧ARM嵌入式開發
systemctl命令用法
1. 列出所用可用單元
systemctl list-unit-files
2. 列出所有執行中的單元
systemctl list-units
3. 檢查某個單元(如 crond.service)是否啟用
systemctl is-enabled crond.service
4. 列出所有服務
systemctl list-unit-files ?Ctype=service
5. Linux中如何啟動、重啟、停止、過載服務以及檢查服務(如 httpd.service)狀態
systemctl start httpd.service
systemctl restart httpd.service
systemctl stop httpd.service
systemctl reload httpd.service
systemctl status httpd.service
6. 如何啟用服務並在開機時啟用或禁用服務(即系統啟動時自動啟動mysql.service服務)
systemctl is-active mysql.service
systemctl enable mysql.service
systemctl disable mysql.service
7. 如何遮蔽(讓它不能啟動)或顯示服務(如ntpdate.service)
systemctl mask ntpdate.service
ln -s '/dev/null' '/etc/systemd/system/ntpdate.service'
systemctl unmask ntpdate.service
rm '/etc/systemd/system/ntpdate.service'
8. 使用systemctl命令殺死服務
systemctl kill crond
編寫一個服務
1. 新增服務檔案
在/etc/systemd/system/檔案目錄下新增.service服務檔案;
2. 編寫.service檔案
[Unit]
Description=test for service
ConditionFileIsExecutable=/etc/init.d/tst.sh
After=weston.service
[Service]
Type=forking
ExecStart=-/etc/init.d/tst.sh start
ExecStop=-/etc/init.d/tst.sh stop
[Install]
WantedBy=multi-user.target
從上面可以看出.serive檔案包括三個部分:[Unit]、[Service]、[Install]。
“
[Unit]
Description:對當前服務的簡單描述。
After:指定.serive在哪些服務之後進行啟動;
Before:指定.serive在哪些服務之前進行啟動;
除上述內容,檔案中還可能出現以下內容:
Requires:指定服務依賴於哪些服務(強依賴關係,一旦所依賴服務異常,當前服務也隨之停止);
Wants:指定服務依賴於哪些服務(弱依賴關係,所依賴服務異常不影響當前服務正常執行)。
“
[Service]
Type:定義啟動型別。可設定:simple,exec,forking,oneshot,dbus,notify,idle。
simple:ExecStart 欄位啟動的程式為該服務的主程式;
forking:ExecStart 欄位的命令將以 fork() 方式啟動,此時父程式將會退出,子程式將成為主程式;
ExecStart:定義啟動程式時執行的命令;
ExecStop:停止服務時執行的命令;
除上述內容外,檔案中還可能出現:
EnvironmentFile:環境配置檔案,用來指定當前服務啟動的環境變數;
ExecReload:重啟服務時執行的命令;
ExecStartPre:啟動服務之前執行的命令;
ExecStartPost:啟動服務之後執行的命令;
ExecStopPost:停止服務之後執行的命令;
RemainAfterExit:設為yes,表示程式退出以後,服務仍然保持執行;
RestartSec:重啟服務之前需要等待的秒數。
KillMode:定義 Systemd 如何停止服務,可以設定的值如下:
control-group(預設值):當前控制組裡面的所有子程式,都會被殺掉;
process:只殺主程式;
mixed:主程式將收到 SIGTERM 訊號,子程式收到 SIGKILL 訊號;
none:沒有程式會被殺掉。
Restart:定義了退出後,Systemd 的重啟方式。
可以設定的值如下:
no(預設值):退出後不會重啟;
on-success:當程式正常退出時(退出狀態碼為0),才會重啟;
on-failure:當程式非正常退出時(退出狀態碼非0),包括被訊號終止和超時,才會重啟;
on-abnormal:當被訊號終止和超時,才會重啟;
on-abort:當收到沒有捕捉到的訊號終止時,才會重啟;
on-watchdog:看門狗超時退出,才會重啟;
always:總是重啟。
“
[Install]
Install一般填為WantedBy=multi-user.target,表示多使用者環境下服務被啟用。
3. 設定開機自啟動
systemctl enable (服務名)
4. 查詢服務狀態
systemctl status (服務名)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70018165/viewspace-2930510/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux系統網路檔案配置Linux
- linux系統配置及相關檔案Linux
- Linux系統命令之systemctl命令。Linux
- Linux系統配置NFS檔案共享服務LinuxNFS
- Linux下的檔案系統結構Linux
- Linux 系統下解壓 rar 檔案Linux
- linux系統服務(systemctl)的使用Linux
- Linux檔案系統Linux
- [Linux]檔案系統Linux
- Linux系統篇-檔案系統&虛擬檔案系統Linux
- 小白自制Linux開發板 五. Debian檔案系統製作,以及WIFI配置、交換分割槽配置LinuxWiFi
- Linux系統檔案系統及檔案基礎篇Linux
- linux系統基礎的優化以及常用命令Linux優化
- 論Linux檔案系統Linux
- Linux AUFS 檔案系統Linux
- linux的檔案系統Linux
- Linux系統下網路配置Linux
- 分散式檔案系統(HDFS)與 linux系統檔案系統 對比分散式Linux
- Linux系統配置檔案簡易shell備份指令碼Linux指令碼
- 簡單介紹一下 Linux 檔案系統?Linux
- linux下的檔案系統出錯 Structure needs cleaningLinuxStruct
- 『學了就忘』Linux檔案系統管理 — 57、Linux檔案系統介紹Linux
- 檔案系統(十一):Linux Squashfs只讀檔案系統介紹Linux
- linux之路(五)檔案系統Linux
- Linux檔案系統、目錄Linux
- Linux 檔案系統詳解Linux
- linux 檔案系統擴容Linux
- Linux檔案系統詳解Linux
- docker-compose 配置檔案內容詳解以及常用命令介紹Docker
- Linux系統下建立檔案最常見的8種方法!Linux
- linux系統下檔案誤刪除該如何恢復?Linux
- Linux下修改fstab檔案造成系統無法啟動Linux
- service和systemctl的區別
- Linux常用命令:檔案操作命令Linux
- 04_重要系統配置檔案
- Linux系統常用命令Linux
- Linux常用配置檔案Linux
- 導覽Linux系統檔案系統型別Linux型別