日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

如何創建Systemd服務

1、Systemd服務 腳本一般存放在:/usr/lib/systemd 目錄下, 目錄下又有usersystem之分

/usr/lib/systemd/system # 系統服務,開機不需要登錄就能運行的程序(相當于開機自啟)
/usr/lib/systemd/user # 用戶服務,需要登錄后才能運行的程序

2、在/usr/lib/systemd/system或/usr/lib/systemd/user創建“your-service.service”文件并寫入如下示例

[Unit]
Description=<description about this service>

[Service]
User=<user e.g. root>
WorkingDirectory=<directory_of_script e.g. /root>
ExecStart=<script which needs to be executed>
Restart=always

[Install]
WantedBy=multi-user.target

3、保存后執行:

sudo systemctl daemon-reload #重新加載服務

4、啟動服務:

sudo systemctl start your-service.service

5、查看服務狀態:

sudo systemctl status your-service.service

6、設置服務開啟啟動:

sudo systemctl enable your-service.service

7、停止服務:

sudo systemctl disable your-service.service

腳本參數說明

[Unit]模塊參數

Description

簡單的服務描述

Documentation

文檔鏈接,多個文檔用空格隔開,支持以下協議文檔http://, https://, file:, info:, man:.

Requires

配置需要依賴的服務。如果本服務已經啟動,那么依賴服務肯定也已經全部啟動。如果依賴服務中有任何一個服務啟動失敗,那么systemd不會啟動本服務。多個依賴服務用空格隔開。

Wants

與Requires類似,但是這里設定的服務啟動失敗不會影響本服務啟動。

BindsTo

與Requires類似,但是如果依賴服務關閉,那么本服務也會停止。

PartOf

與Requires類似,但是依賴服務停止和重啟也同樣會停止和重啟本服務。

Conflicts

設定沖突服務,如果設定的服務已經啟動,那么本服務將不會啟動。多個服務用空格隔開。

Before, After

設定在本服務啟動“前”、“后”需要啟動的服務。多個服務用空格隔開。

OnFailure

設定如果本服務發生錯誤,需要啟動的服務。多個服務用空格隔開。

[Service]模塊參數

Type

字段定義啟動類型。它可以設置的值如下。

  • simple(默認值):ExecStart字段啟動的進程為主進程
  • forking:ExecStart字段將以fork()方式啟動,此時父進程將會退出,子進程將成為主進程
  • oneshot:類似于simple,但只執行一次,Systemd 會等它執行完,才啟動其他服務
  • dbus:類似于simple,但會等待 D-Bus 信號后啟動
  • notify:類似于simple,啟動結束后會發出通知信號,然后 Systemd 再啟動其他服務
  • idle:類似于simple,但是要等到其他任務都執行完,才會啟動該服務。一種使用場合是為讓該服務的輸出,不與其他服務的輸出相混合

RemainAfterExit

是否在服務所有進程都退出時還認為該服務在啟動狀態,默認為否。

GuessMainPID

A boolean value that specifies whether systemd should guess the main PID of a service if it cannot be determined reliably. This option is ignored unless Type=forking is set and PIDFile is not set. Defaults to yes.

PIDFile

設置一個絕對路徑的文件來存儲服務的PID。

An absolute filename pointing to the PID file of this daemon. Use of this option is recommended for services where Type=forking. Systemd reads the PID of the main process of the daemon after start-up of the service. Systemd does not write to the file configured here, although it removes the file after the service has shut down.

ExecStart

定義啟動進程時執行的命令。

ExecStartPre, ExecStartPost

啟動服務之前(之后)執行的命令。

ExecReload

重啟服務時執行的命令。

ExecStop

停止服務時執行的命令。

ExecStopPost

停止服務之后執行的命令。

RestartSec

在重啟服務之前等待時間。

TimeoutStartSec

等待服務啟動的時間。

TimeoutStopSec

等待服務停止的時間。

TimeoutSec

該參數設置后同時設置TimeoutStartSec 和 TimeoutStopSec參數。

RuntimeMaxSec

服務最長啟動時間。默認是無限制。

Restart

服務退出或者被kill掉后是否重新啟動

  • no(默認值):退出后不會重啟
  • on-success:只有正常退出時(退出狀態碼為0),才會重啟
  • on-failure:非正常退出時(退出狀態碼非0),包括被信號終止和超時,才會重啟
  • on-abnormal:只有被信號終止和超時,才會重啟
  • on-abort:只有在收到沒有捕捉到的信號終止時,才會重啟
  • on-watchdog:超時退出,才會重啟
  • always:不管是什么退出原因,總是重啟

WorkingDirectory

指定服務執行的根目錄

[Install]模塊參數

WantedBy

通常是定義哪些target能夠運行服務一般是multi-user.target

參考:

https://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html

https://www.freedesktop.org/software/systemd/man/systemd.exec.html#WorkingDirectory=

https://docs.fedoraproject.org/en-US/quick-docs/understanding-and-administering-systemd/#_unit_parameters

所有參數設置參考:

https://www.freedesktop.org/software/systemd/man/systemd.directives.html

分享到:
標簽:Linux
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定