一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

技術(shù)分享 | Linux系統(tǒng)下systemctl常用命令以及service文件配置

啟揚(yáng)ARM嵌入式開發(fā) ? 2022-09-22 09:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

linux服務(wù)管理的兩種方式為service和systemctl。systemd是Linux系統(tǒng)最新的初始化系統(tǒng)(init),作用是提高系統(tǒng)的啟動(dòng)速度,盡可能啟動(dòng)較少的進(jìn)程,盡可能并發(fā)啟動(dòng)更多進(jìn)程。systemd對(duì)應(yīng)的進(jìn)程管理命令是systemctl。

systemctl命令用法

1. 列出所用可用單元

systemctl list-unit-files

2. 列出所有運(yùn)行中的單元

systemctl list-units

3. 檢查某個(gè)單元(如 crond.service)是否啟用

systemctl is-enabled crond.service

4. 列出所有服務(wù)

systemctl list-unit-files ?Ctype=service

5. Linux中如何啟動(dòng)、重啟、停止、重載服務(wù)以及檢查服務(wù)(如 httpd.service)狀態(tài)

systemctl start httpd.service
systemctl restart httpd.service
systemctl stop httpd.service
systemctl reload httpd.service
systemctl status httpd.service

6. 如何激活服務(wù)并在開機(jī)時(shí)啟用或禁用服務(wù)(即系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng)mysql.service服務(wù))

systemctl is-active mysql.service
systemctl enable mysql.service
systemctl disable mysql.service

7. 如何屏蔽(讓它不能啟動(dòng))或顯示服務(wù)(如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命令殺死服務(wù)

systemctl kill crond

編寫一個(gè)服務(wù)

1. 添加服務(wù)文件

在/lib/systemd/system/文件目錄下添加.service服務(wù)文件;

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文件包括三個(gè)部分:[Unit]、[Service]、[Install]。

[Unit]

Description:對(duì)當(dāng)前服務(wù)的簡(jiǎn)單描述。

After:指定.serive在哪些服務(wù)之后進(jìn)行啟動(dòng);

Before:指定.serive在哪些服務(wù)之前進(jìn)行啟動(dòng);

除上述內(nèi)容,文件中還可能出現(xiàn)以下內(nèi)容:

Requires:指定服務(wù)依賴于哪些服務(wù)(強(qiáng)依賴關(guān)系,一旦所依賴服務(wù)異常,當(dāng)前服務(wù)也隨之停止);

Wants:指定服務(wù)依賴于哪些服務(wù)(弱依賴關(guān)系,所依賴服務(wù)異常不影響當(dāng)前服務(wù)正常運(yùn)行)。

[Service]

Type:定義啟動(dòng)類型。可設(shè)置:simple,exec,forking,oneshot,dbus,notify,idle。

simple:ExecStart 字段啟動(dòng)的進(jìn)程為該服務(wù)的主進(jìn)程;

forking:ExecStart 字段的命令將以 fork() 方式啟動(dòng),此時(shí)父進(jìn)程將會(huì)退出,子進(jìn)程將成為主進(jìn)程;

ExecStart:定義啟動(dòng)進(jìn)程時(shí)執(zhí)行的命令;

ExecStop:停止服務(wù)時(shí)執(zhí)行的命令;

除上述內(nèi)容外,文件中還可能出現(xiàn):

EnvironmentFile:環(huán)境配置文件,用來(lái)指定當(dāng)前服務(wù)啟動(dòng)的環(huán)境變量;

ExecReload:重啟服務(wù)時(shí)執(zhí)行的命令;

ExecStartPre:啟動(dòng)服務(wù)之前執(zhí)行的命令;

ExecStartPost:啟動(dòng)服務(wù)之后執(zhí)行的命令;

ExecStopPost:停止服務(wù)之后執(zhí)行的命令;

RemainAfterExit:設(shè)為yes,表示進(jìn)程退出以后,服務(wù)仍然保持執(zhí)行;

RestartSec:重啟服務(wù)之前需要等待的秒數(shù)。

KillMode:定義 Systemd 如何停止服務(wù),可以設(shè)置的值如下:

control-group(默認(rèn)值):當(dāng)前控制組里面的所有子進(jìn)程,都會(huì)被殺掉;

process:只殺主進(jìn)程;

mixed:主進(jìn)程將收到 SIGTERM 信號(hào),子進(jìn)程收到 SIGKILL 信號(hào);

none:沒有進(jìn)程會(huì)被殺掉。

Restart:定義了退出后,Systemd 的重啟方式。

可以設(shè)置的值如下:

no(默認(rèn)值):退出后不會(huì)重啟;

on-success:當(dāng)進(jìn)程正常退出時(shí)(退出狀態(tài)碼為0),才會(huì)重啟;

on-failure:當(dāng)進(jìn)程非正常退出時(shí)(退出狀態(tài)碼非0),包括被信號(hào)終止和超時(shí),才會(huì)重啟;

on-abnormal:當(dāng)被信號(hào)終止和超時(shí),才會(huì)重啟;

on-abort:當(dāng)收到?jīng)]有捕捉到的信號(hào)終止時(shí),才會(huì)重啟;

on-watchdog:看門狗超時(shí)退出,才會(huì)重啟;

always:總是重啟。

[Install]

Install一般填為WantedBy=multi-user.target,表示多用戶環(huán)境下服務(wù)被啟用。

3. 設(shè)置開機(jī)自啟動(dòng)

systemctl enable (服務(wù)名)

4. 查詢服務(wù)狀態(tài)

systemctl status (服務(wù)名)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11511

    瀏覽量

    213843
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    SSH常用命令詳解

    SSH常用命令詳解
    的頭像 發(fā)表于 06-04 11:30 ?655次閱讀

    飛凌嵌入式ElfBoard ELF 1板卡-uboot常用命令文件系統(tǒng)命令

    uboot支持fat格式、ext格式的文件系統(tǒng)。我們主要講解fat格式文件系統(tǒng)常用命令使用。 一、fatinfo fatinfo顯示選中的mmc設(shè)備指定分區(qū)的文件系統(tǒng)信息, fatin
    發(fā)表于 05-26 17:32

    Linux常用命令大全

    Linux常用命令是指在Linux操作系統(tǒng)中廣泛使用的命令工具,這些命令工具可以完成各種不同的任
    的頭像 發(fā)表于 05-03 18:08 ?1128次閱讀

    Docker Compose的常用命令

    大家好,今天給大家分享Docker Compose的常用命令,以及docker-compose文件的屬性。Docker Compose 是一個(gè)用于定義和運(yùn)行多容器 Docker 應(yīng)用應(yīng)用的重要工具
    的頭像 發(fā)表于 04-30 13:40 ?455次閱讀

    Docker常用命令大全

    Docker 是一種開源的應(yīng)用容器引擎,廣泛應(yīng)用于開發(fā)、部署和運(yùn)行分布式應(yīng)用。掌握 Docker 常用命令對(duì)于開發(fā)人員和運(yùn)維人員來(lái)說(shuō)非常重要。本文將為大家整理常用的Docker 命令,并按照功能分為多個(gè)部分,幫助你高效使用 Do
    的頭像 發(fā)表于 04-22 12:47 ?404次閱讀

    Linux常用命令行總結(jié)

    學(xué)習(xí)了一段時(shí)間的linux之后,開始著手基本命令的學(xué)習(xí),這里主要記錄一些學(xué)習(xí)過(guò)程中重要的知識(shí)點(diǎn)供以后查閱。
    的頭像 發(fā)表于 03-03 10:40 ?497次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>常用命令</b>行總結(jié)

    Linux ip命令常用操作

    Linux?ip命令常用操作 在Linux系統(tǒng)中,ip命令是用于管理網(wǎng)絡(luò)接口和路由的強(qiáng)大工具。相
    的頭像 發(fā)表于 02-19 10:23 ?685次閱讀

    Linux實(shí)時(shí)查看日志的四種命令詳解

    如何在Linux中實(shí)時(shí)查看日志文件的內(nèi)容?那么有很多實(shí)用程序可以幫助用戶在文件更改或不斷更新時(shí)輸出文件的內(nèi)容。在Linux中實(shí)時(shí)顯示
    的頭像 發(fā)表于 01-13 10:45 ?3076次閱讀
    <b class='flag-5'>Linux</b>實(shí)時(shí)查看日志的四種<b class='flag-5'>命令</b>詳解

    docker-compose配置文件內(nèi)容詳解以及常用命令介紹

    一、Docker Compose 簡(jiǎn)介 Docker Compose是一種用于定義和運(yùn)行多容器Docker應(yīng)用程序的工具。通過(guò)一個(gè)? docker-compose.yml ?文件,您可以配置應(yīng)用程序
    的頭像 發(fā)表于 12-02 09:29 ?4444次閱讀
    docker-compose<b class='flag-5'>配置文件</b>內(nèi)容詳解<b class='flag-5'>以及</b><b class='flag-5'>常用命令</b>介紹

    Linux常用命令

    快捷鍵 ln -s /data /home/nvidia/ vi 查看文件命令,例如: vi xxx.log 退出方式::+q+回車 tail 顯示文件后幾行,例如: tail xxx.log 也可以
    的頭像 發(fā)表于 11-06 16:04 ?386次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>常用命令</b>

    詳解kubectl常用命令

    詳解kubectl常用命令
    的頭像 發(fā)表于 11-05 15:39 ?1367次閱讀
    詳解kubectl<b class='flag-5'>常用命令</b>

    Linux實(shí)用命令大全

    Linux實(shí)用命令大全
    的頭像 發(fā)表于 10-23 13:50 ?657次閱讀
    <b class='flag-5'>Linux</b>實(shí)<b class='flag-5'>用命令</b>大全

    Linux磁盤分區(qū)擴(kuò)容方法

    linux分區(qū)常用命令:fdisk,修改MBR分區(qū)表,MBR格式,被修改的分區(qū)大小最大為2T。
    的頭像 發(fā)表于 10-23 11:46 ?1098次閱讀
    <b class='flag-5'>Linux</b>磁盤分區(qū)擴(kuò)容方法

    shell基本介紹及常用命令之shell介紹

    提示符是“$”,在命令提示符后邊輸入命令即可和系統(tǒng)進(jìn)行交互操作。Ubuntu默認(rèn)的Shell是Bash(Bourne Again Shell)。Linux
    發(fā)表于 08-15 09:28

    Windows操作系統(tǒng)中的常用命令

    這些命令不僅能提高工作效率,還能幫助用戶解決許多復(fù)雜的問題。本系列文章將詳細(xì)介紹Windows操作系統(tǒng)中的常用命令,幫助你成為Windows極客!
    的頭像 發(fā)表于 08-07 15:40 ?1175次閱讀
    Windows操作<b class='flag-5'>系統(tǒng)</b>中的<b class='flag-5'>常用命令</b>