久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Systemd 添加自定義服務(wù)(開機自啟動)

 用勿龍潛 2020-01-25

Systemd 簡介:https:///wiki/Systemd/zh-cn

 

一,、service unit 常用命令,以 mysql 服務(wù)為例

復(fù)制代碼
# 開機啟動
systemctl enable mysqld

# 關(guān)閉開機啟動
systemctl disable mysqld

# 啟動服務(wù)
systemctl start mysqld

# 停止服務(wù)
systemctl stop mysqld

# 重啟服務(wù)
systemctl restart mysqld

# 查看服務(wù)狀態(tài)
systemctl status mysqld
systemctl is-active sshd.service

# 結(jié)束服務(wù)進程(服務(wù)無法停止時)
systemctl kill mysqld
復(fù)制代碼

 

二,、服務(wù)啟動的配置文件

配置文件主要放在 /usr/lib/systemd/system 目錄,,也可能在 /etc/systemd/system 目錄

復(fù)制代碼
# 查看 sshd 服務(wù)啟動文件
systemctl cat sshd.service

# /usr/lib/systemd/system/sshd.service
[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service

[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target
復(fù)制代碼

每個服務(wù)文件以 .service 結(jié)尾,一般會分為 3 部分,,必須包含 [Service] 部分

[Unit] 啟動順序與依賴關(guān)系

復(fù)制代碼
Description:當(dāng)前服務(wù)的簡單描述
Documentation:指定 man 文檔位置

After:如果 network.target 或 sshd-keygen.service 需要啟動,,那么 sshd.service 應(yīng)該在它們之后啟動
Before:定義 sshd 應(yīng)該在哪些服務(wù)之前啟動
注意:After 和 Before 字段只涉及啟動順序,不涉及依賴關(guān)系,。

Wants:表示 sshd.service 與 sshd-keygen.service 之間存在"弱依賴"關(guān)系,,即如果"sshd-keygen.service"啟動失敗或停止運行,不影響 sshd.service 繼續(xù)執(zhí)行
Requires:表示"強依賴"關(guān)系,,即如果該服務(wù)啟動失敗或異常退出,那么sshd.service 也必須退出
注意:Wants 字段與 Requires 字段只涉及依賴關(guān)系,,與啟動順序無關(guān),,默認情況下是同時啟動。
復(fù)制代碼

[Service] 啟動行為

復(fù)制代碼
EnvironmentFile:許多軟件都有自己的環(huán)境參數(shù)文件,,該字段指定文件路徑
注意:/etc/profile 或者 /etc/profile.d/ 這些文件中配置的環(huán)境變量僅對通過 pam 登錄的用戶生效,,而 systemd 是不讀這些配置的。
systemd 是所有進程的父進程或祖先進程,,它的環(huán)境變量會被所有的子進程所繼承,,如果需要給 systemd 配置默認參數(shù)可以在 /etc/systemd/system.conf  和 /etc/systemd/user.conf 中設(shè)置。
加載優(yōu)先級 system.conf 最低,,可能會被其他的覆蓋,。 Type:定義啟動類型??稍O(shè)置:simple,,exec,forking,,oneshot,,dbus,notify,,idle simple(設(shè)置了 ExecStart= 但未設(shè)置 BusName= 時的默認值):ExecStart 字段啟動的進程為該服務(wù)的主進程 forking:ExecStart 字段的命令將以 fork() 方式啟動,,此時父進程將會退出,子進程將成為主進程 ExecStart:定義啟動進程時執(zhí)行的命令 上面的例子中,,啟動 sshd 執(zhí)行的命令是 /usr/sbin/sshd -D $OPTIONS,,其中的變量 $OPTIONS 就來自 EnvironmentFile 字段指定的環(huán)境參數(shù)文件,。類似的,還有如下字段: ExecReload:重啟服務(wù)時執(zhí)行的命令 ExecStop:停止服務(wù)時執(zhí)行的命令 ExecStartPre:啟動服務(wù)之前執(zhí)行的命令 ExecStartPost:啟動服務(wù)之后執(zhí)行的命令 ExecStopPost:停止服務(wù)之后執(zhí)行的命令 RemainAfterExit:設(shè)為yes,,表示進程退出以后,,服務(wù)仍然保持執(zhí)行 KillMode:定義 Systemd 如何停止服務(wù),可以設(shè)置的值如下: control-group(默認值):當(dāng)前控制組里面的所有子進程,,都會被殺掉 process:只殺主進程 mixed:主進程將收到 SIGTERM 信號,,子進程收到 SIGKILL 信號 none:沒有進程會被殺掉,只是執(zhí)行服務(wù)的 stop 命令 Restart:定義了退出后,,Systemd 的重啟方式,。可以設(shè)置的值如下: no(默認值):退出后不會重啟 on-success:只有正常退出時(退出狀態(tài)碼為0),,才會重啟 on-failure:非正常退出時(退出狀態(tài)碼非0),,包括被信號終止和超時,才會重啟 on-abnormal:只有被信號終止和超時,,才會重啟 on-abort:只有在收到?jīng)]有捕捉到的信號終止時,,才會重啟 on-watchdog:超時退出,才會重啟 always:不管是什么退出原因,,總是重啟 RestartSec:表示 Systemd 重啟服務(wù)之前,,需要等待的秒數(shù)
復(fù)制代碼

 

配置中多個相同配置會選擇最后一個,下面結(jié)果是 execstart2

[Service]

ExecStart=/bin/echo execstart1

ExecStart=/bin/echo execstart2

 

所有的啟動設(shè)置之前,,都可以加上一個連詞號(-),,表示"抑制錯誤",即發(fā)生錯誤的時候,,不影響其他命令的執(zhí)行

EnvironmentFile=-/etc/sysconfig/sshd,,表示即使 /etc/sysconfig/sshd 文件不存在,也不會拋出錯誤

[Install]

WantedBy:表示該服務(wù)所在的 Target(服務(wù)組)

關(guān)于 Target,,運行級別

復(fù)制代碼
# 查看默認 Target
systemctl get-default
# 結(jié)果為 multi-user.target,,表示默認的啟動 Target 是multi-user.target。在這個組里的所有服務(wù),,都將開機啟動,。這就是為什么 systemctl enable 命令能設(shè)置開機啟動的原因

# 查看 multi
-user.target 包含的所有服務(wù) systemctl list-dependencies multi-user.target # 切換到另一個 target # shutdown.target 就是關(guān)機狀態(tài) # 常用的 Target 有兩個:一個是 multi-user.target,表示多用戶命令行狀態(tài),;另一個是 graphical.target,表示圖形用戶狀態(tài),,它依賴于 multi-user.target systemctl isolate shutdown.target
復(fù)制代碼

 

三,、自定義服務(wù)

在 /usr/lib/systemd/system 下新建服務(wù)腳本

復(fù)制代碼
vim /usr/lib/systemd/system/zdy.service

[Unit]
Description=描述
Environment=環(huán)境變量或參數(shù)(系統(tǒng)環(huán)境變量此時無法使用)
After=network.target

[Service]
Type=forking
EnvironmentFile=所需環(huán)境變量文件或參數(shù)文件
ExecStart=啟動命令(需指定全路徑)
ExecStop=停止命令(需指定全路徑)
User=以什么用戶執(zhí)行命令

[Install]
WantedBy=multi-user.target
復(fù)制代碼

新建完成后設(shè)置自啟動

# 添加或修改配置文件后,需要重新加載
systemctl daemon-reload

# 設(shè)置自啟動,,實質(zhì)就是在 /etc/systemd/system/multi-user.target.wants/ 添加服務(wù)文件的鏈接
systemctl enable zdy

 


官方手冊 https://www./software/systemd/man/systemd.service.html

中文翻譯 http://www./systemd/systemd.service.html

http://www./blog/2016/03/systemd-tutorial-part-two.html

https://blog.csdn.net/weixin_37766296/article/details/80192633

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多