日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何列出systemd服務并解釋它的輸出呢

冬至子 ? 來源:TIAP ? 作者:劉光錄 ? 2022-11-15 18:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

systemd 負責解決系統(tǒng)管理中的很多問題。對于很多新手來說,對它可能不夠熟悉。比如,怎樣列出 systemd 的服務,可能就會讓你想半天。

本文將介紹如何列出 systemd 服務,并解釋它的輸出,以便大家能更容易理解服務的不同狀態(tài)。

在寫這篇文章的時候,我假設你對 systemd 有所了解。但是如果不了解,應該也沒什么問題...

如何列出 systemd 中活動的服務

systemd 服務由 systemctl 命令管理。如果我們不帶任何參數(shù)運行 systemctl,它會默認調用 list-units 子命令,列出各種類型的 systemd 單元,比如服務(services)、套接字(sockets)、目標(targets)等。

但是我們的目的是要列出服務,所以可以使用 --type選項指定單元類型(unit type),如下所示:

systemctl --type=service

是否注意到我沒有指定 list-units 子命令?因為它是默認的。如果想要按照約定使用,也可以指定。本文后面的部分會遵循這種約定。

systemctl list-units --type=service

上述兩個命令輸出是一樣的。默認情況下,該命令會按照字母順序列出已經加載且活動的服務:

UNIT                     LOAD   ACTIVE SUB     DESCRIPTION
  accounts-daemon.service  loaded active running Accounts Service
  acpid.service            loaded active running ACPI event daemon
  alsa-restore.service     loaded active exited  Save/Restore Sound Card State
  apparmor.service         loaded active exited  Load AppArmor profiles
  apport.service           loaded active exited  LSB: automatic crash report generation

我們來解釋一下上述輸出中的內容:

  • UNIT :systemd 單元名稱;
  • LOAD :單元配置文件是否已由 systemd 解析;
  • ACTIVE :單元的高級別狀態(tài)(high level state);
  • SUB :單元的低級別狀態(tài)。活動單元(active unit)可以處于運行狀態(tài)(running state)或退出狀態(tài)(exited state),此值取決于服務類型。

上面的例子,我們可以列出 Linux 系統(tǒng)上加載的服務。但活動的 systemd 服務可能正在運行,也可能已經退出(在成功運行后)。

列出所有正在運行的systemd服務

活動狀態(tài)(active state)也有一個子狀態(tài)(sub-status),比如正在運行(running)、已退出(exited)等。所以,可以在子狀態(tài)中使用 --state 選項。

要列出正在運行的 systemd 服務,可以指明 --state=running,如下:

systemctl list-units --type=service --state=running

以下是一個輸出的例子,列出了正在運行的 systemd 服務:

UNIT                        LOAD   ACTIVE SUB     DESCRIPTION
  accounts-daemon.service     loaded active running Accounts Service
  acpid.service               loaded active running ACPI event daemon
  avahi-daemon.service        loaded active running Avahi mDNS/DNS-SD Stack
  bluetooth.service           loaded active running Bluetooth service
  bolt.service                loaded active running Thunderbolt system service

列出所有已加載的systemd服務,包括非活動服務

默認情況下,systemctl 命令只列出已加載且活動的服務。如果要包含非活動的 服務,可以使用 --all 選項:

systemctl list-units --all --type=service

如下輸出示例:

UNIT                                                  LOAD      ACTIVE   SUB     DESCRIPTION
  accounts-daemon.service                               loaded    active   running Accounts Service
  acpid.service                                         loaded    active   running ACPI event daemon
  alsa-restore.service                                  loaded    active   exited  Save/Restore Sound Card State
  alsa-state.service                                    loaded    inactive dead    Manage Sound Card State (restore and store)
  anacron.service                                       loaded    inactive dead    Run anacron jobs
  apparmor.service                                      loaded    active   exited  Load AppArmor profiles

列出所有非活動的systemd服務

如果要列出所有非活動的 systemd 服務,可以使用 --all 組合 --state 選項,如下:

systemctl list-units --all --type=service --state=inactive

如下為結果的輸出,只列出了非活動的 systemd 服務:

UNIT                                   LOAD      ACTIVE   SUB  DESCRIPTION
  alsa-state.service                     loaded    inactive dead Manage Sound Card State (restore and store)
  anacron.service                        loaded    inactive dead Run anacron jobs
  apport-autoreport.service              loaded    inactive dead Process error reports when automatic reporting is enabled
  apt-daily-upgrade.service              loaded    inactive dead Daily apt upgrade and clean activities
  apt-daily.service                      loaded    inactive dead Daily apt download activities
● auditd.service                         not-found inactive dead auditd.service

列出所有已安裝的systemd服務(即使未加載)

每一個 systemd 單元,包括服務(service),套接字(socket)或者其他的,都會有一個單元文件(unit file),所以我們可以利用其單元文件,列出所有已安裝的 systemd 服務:

systemctl list-unit-files --type=service

以下是輸出:

UNIT FILE                                  STATE           VENDOR PRESET
accounts-daemon.service                    enabled         enabled      
acpid.service                              disabled        enabled
alsa-restore.service                       static          enabled      
alsa-state.service                         static          enabled
alsa-utils.service                         masked          enabled      
anacron.service                            enabled         enabled      
apparmor.service                           enabled         enabled      
apport-autoreport.service                  static          enabled      
apport-forward@.service                    static          enabled

列出系統(tǒng)啟動時會自動運行的 systemd 服務

要查看系統(tǒng)啟動時,會自動運行的 systemd 服務,可以使用如下命令:

systemctl list-unit-files --type=service --state=enabled

你可能會對上述命令中,指定的狀態(tài)為 enabled 有疑問,這很正常,很多新用戶經常會將服務的“啟用(enabled)”和“正在運行(running)”混淆。

這里,enabled systemd 服務表示系統(tǒng)啟動時會自動激活該服務。

以下為輸出:

UNIT FILE                                  STATE   VENDOR PRESET
accounts-daemon.service                    enabled enabled      
anacron.service                            enabled enabled      
apparmor.service                           enabled enabled      
autovt@.service                            enabled enabled      
avahi-daemon.service                       enabled enabled      
binfmt-support.service                     enabled enabled      
bluetooth.service                          enabled enabled      
console-setup.service                      enabled enabled      
containerd.service                         enabled enabled      
cron.service                               enabled enabled      
cups-browsed.service                       enabled enabled      
cups.service                               enabled enabled      
dbus-fi.w1.wpa_supplicant1.service         enabled enabled

注意到結果中的 Vendor Preset 一列了嗎?它在前一個例子中也出現(xiàn)了。

Vendor preset 定義了安裝程序時 systemd 單元的自動行為。

假設我們安裝了一個新程序 XYZ,它有一個名為 xyz.service的服務,且 vendor preset狀態(tài)為啟用(enabled),這表示當啟動系統(tǒng)時,xyz.service將會被自動激活。

如果 vendor preset 設置為 disabled,則必須手動設置為啟用。一旦啟用,他就會跟隨系統(tǒng)自動啟動。

sudo systemd enable xyz.service

顯示某個特定 systemd 服務的狀態(tài)

上文我們介紹了幾種列出服務的方法。那么,怎樣查看某一個服務的狀態(tài)呢?

可以使用 systemctl 命令的子命令 status 來查看 systemd 服務的詳細信息。使用該命令時,tab 鍵會補全輸入。

systemctl status

以下是網絡管理器服務(network manager service)的例子:

$ systemctl status NetworkManager.service 
● NetworkManager.service - Network Manager
     Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2020-07-23 08:12:44 IST; 3h 8min ago
       Docs: man:NetworkManager(8)
   Main PID: 711 (NetworkManager)
      Tasks: 3 (limit: 9157)
     Memory: 13.6M
     CGroup: /system.slice/NetworkManager.service
             └─711 /usr/sbin/NetworkManager --no-daemon


Jul 23 08:12:50 itsfoss NetworkManager[711]: <info>  [1595472170.7159] device (wlp58s0): Activation: successful, device activated.
Jul 23 08:12:50 itsfoss NetworkManager[711]: <info>  [1595472170.7179] manager: startup complete
Jul 23 08:12:51 itsfoss NetworkManager[711]: <info>  [1595472171.5592] manager: NetworkManager state is now CONNECTED_GLOBAL
Jul 23 08:12:52 itsfoss NetworkManager[711]: <info>  [1595472172.7973] dhcp6 (wlp58s0): activation: beginning transaction (timeout in 45 seconds)
Jul 23 08:12:52 itsfoss NetworkManager[711]: <info>  [1595472172.8017] policy: set 'JioFi3_215810' (wlp58s0) as default for IPv6 routing and DNS
Jul 23 08:12:52 itsfoss NetworkManager[711]: <info>  [1595472172.8058] dhcp6 (wlp58s0): option dhcp6_name_servers   => 'fe80::a8dc:79ff:fe1b:57fe'
Jul 23 08:12:52 itsfoss NetworkManager[711]: <info>  [1595472172.8059] dhcp6 (wlp58s0): state changed unknown -> bound
Jul 23 08:12:59 itsfoss NetworkManager[711]: <info>  [1595472179.9251] agent-manager: agent[bdd71d4a66098713,:1.84/org.gnome.Shell.NetworkAgent/1>
Jul 23 11:18:10 itsfoss NetworkManager[711]: <info>  [1595483290.7874] manager: NetworkManager state is now CONNECTED_SITE
Jul 23 11:18:11 itsfoss NetworkManager[711]: <info>  [1595483291.5893] manager: NetworkManager state is now CONNECTED_GLOBAL

上面例子中,我們可以看到它顯示了很多信息,比如服務的狀態(tài)、man 手冊中的頁碼、內存使用情況、進程ID等,后面還顯示了服務的最后的幾個日志信息。

如果我們要在 shell 腳本中檢查服務是否處于活動(active)狀態(tài),可以使用 is-active 子命令,0 表示已激活(active)。

systemctl is-active application.service

類似的,如果要檢查服務是否已啟用(設置為自啟動),可以使用 is-enabled 子命令,0 表示已啟用:

systemctl is-enabled application.service

以上就是本次分享全部內容,歡迎討論。

審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux系統(tǒng)

    關注

    4

    文章

    617

    瀏覽量

    30191
  • sub函數(shù)
    +關注

    關注

    0

    文章

    3

    瀏覽量

    1110
  • unit技術
    +關注

    關注

    0

    文章

    2

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Linux使用Systemd管理進程服務

    systemd是目前Linux系統(tǒng)上主要的系統(tǒng)守護進程管理工具,由于init一方面對于進程的管理是串行化的,容易出現(xiàn)阻塞情況,另一方面init也僅僅是執(zhí)行啟動腳本,并不能對服務本身進行更多的管理
    發(fā)表于 11-28 09:07 ?855次閱讀

    Linux使用Systemd管理進程服務

    今天浩道跟大家分享linux運維中大家很少用到的一個硬核干貨,使用 Systemd 管理進程服務。讓你體驗一下該技巧帶來的便捷性!
    發(fā)表于 12-12 09:02 ?943次閱讀

    內核構建正常,但 systemd加載失敗,為什么?

    直接在 NVME SSD 上運行 VF2 上的構建,沒有交叉構建。 生成的 \'/boot/extlinux/extlinux.conf\' 存在問題,列出了每個內核 cmdline 的 2 個
    發(fā)表于 03-05 06:36

    如何在 Linux 上從 NetworkManager 切換為 systemd

    、隧道和 VLAN。systemd-networkd 目前還不能直接支持無線網絡,但你可以使用 wpa_supplicant 服務配置無線適配器,然后把systemd-netwo
    發(fā)表于 11-25 10:08

    【Intel Edison試用體驗】嚴肅臉試用5——從SSH無法連接到systemd

    init占用,所以這里我們分析一下。注意:systemd入門教程推薦看阮一峰的博客,簡潔明了:1、22.1 系統(tǒng)有沒有安裝SSH服務?【圖3 - 系統(tǒng)情況】【圖4 - JuiceSSH連接Edison
    發(fā)表于 08-10 23:04

    [轉]CentOS7.5下開發(fā)systemctl管理的自定義Rsync啟動服務程序

    sshd服務配置及解釋說明。[code][root@oldboy ~]# cat /usr/lib/systemd/system/sshd.service[Unit] #
    發(fā)表于 08-27 16:36

    i.M8XMQ開發(fā)板如何通過Systemd服務實現(xiàn)應用自啟

    /helloworld.service此時即可將新添加的自啟動服務生效,重啟開發(fā)板后,此程序會自動運行,在默認端的音頻即可聽到音頻輸出。—— —— —— ——Systemd服務,可以實
    發(fā)表于 04-25 15:22

    Linux系統(tǒng)與服務管理工具Systemd被曝存在3大漏洞

    2013 年 4 月引入(systemd v203),并在 2016 年 2 月可利用(systemd v230),研究人員寫了一個 PoC,可在 i386 上獲得 eip 控制。
    的頭像 發(fā)表于 01-25 16:51 ?4032次閱讀
    Linux系統(tǒng)與<b class='flag-5'>服務</b>管理工具<b class='flag-5'>Systemd</b>被曝存在3大漏洞

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

    linux服務管理的兩種方式為service和systemctl。systemd是Linux系統(tǒng)最新的初始化系統(tǒng)(init),作用是提高系統(tǒng)的啟動速度,盡可能啟動較少的進程,盡可能并發(fā)啟動更多
    的頭像 發(fā)表于 09-22 09:37 ?4332次閱讀
    技術分享 | Linux系統(tǒng)下systemctl常用命令以及service文件配置

    Linux項目開發(fā),你必須了解Systemd服務!

    1.Systemd簡介Systemd是什么,以前l(fā)inux系統(tǒng)啟動init機制,由于init一方面對于進程的管理是串行化的,容易出現(xiàn)阻塞情況,另一方面init也僅僅是執(zhí)行啟動腳本,并不能對服務
    的頭像 發(fā)表于 06-18 17:59 ?1757次閱讀
    Linux項目開發(fā),你必須了解<b class='flag-5'>Systemd</b><b class='flag-5'>服務</b>!

    Systemd是什么?Systemd Service配置文件詳解

    Systemd是什么,以前l(fā)inux系統(tǒng)啟動init機制,由于init一方面對于進程的管理是串行化的,容易出現(xiàn)阻塞情況,另一方面init也僅僅是執(zhí)行啟動腳本,并不能對服務本身進行更多的管理
    的頭像 發(fā)表于 07-22 18:03 ?3281次閱讀

    systemd journal收集日志的三種方式

    隨著 systemd 成了主流的 init 系統(tǒng),systemd 的功能也在不斷的增加,比如對系統(tǒng)日志的管理。Systemd 設計的日志系統(tǒng)好處多多,這里筆者就不再贅述了,本文筆者主要介紹 s
    的頭像 發(fā)表于 10-23 11:50 ?1701次閱讀
    <b class='flag-5'>systemd</b> journal收集日志的三種方式

    【技術分享】正確編寫SysV Init腳本以實現(xiàn)Systemd兼容(上)

    嵌入式的ubuntu系統(tǒng)如何寫好SysVInit腳本?與system服務又有什么差別?一起隨著文章來探究吧。問題背景許多傳統(tǒng)Linux服務仍使用SysVInit腳本(/etc/in
    的頭像 發(fā)表于 10-28 11:45 ?863次閱讀
    【技術分享】正確編寫SysV Init腳本以實現(xiàn)<b class='flag-5'>Systemd</b>兼容(上)

    【技術分享】Systemd原生服務配置最佳實踐(下)

    上期我們說到sysv的規(guī)范,創(chuàng)建以及示例,那么我們今天就來講講Systemd的原生服務配置。為何要遷移到Systemd原生服務?盡管規(guī)范化的SysV腳本可臨時解決問題,但可能存在以下缺
    的頭像 發(fā)表于 10-29 11:40 ?570次閱讀
    【技術分享】<b class='flag-5'>Systemd</b>原生<b class='flag-5'>服務</b>配置最佳實踐(下)

    技術分享| 什么是Systemd

    繼上次針對我司IAC-IMX8MP-KitYocto系統(tǒng)上Systemd的簡介,這篇文章主要分析一下關于Service的一些關鍵屬性,幫助大家更好的了解Systemd最重要的單元,更好的控制自己
    的頭像 發(fā)表于 12-18 17:27 ?797次閱讀
    技術分享| 什么是<b class='flag-5'>Systemd</b>
    云霄县| 罗平县| 贡觉县| 凌源市| 台中市| 买车| 香港| 晋城| 江山市| 静海县| 本溪| 正蓝旗| 鲁山县| 金寨县| 宽甸| 文昌市| 英德市| 大宁县| 靖安县| 屯门区| 信宜市| 汪清县| 广宁县| 灵山县| 平武县| 黄龙县| 台中市| 甘谷县| 延寿县| 耿马| 合水县| 肇庆市| 大丰市| 刚察县| 汨罗市| 丰城市| 延寿县| 盐池县| 马公市| 山西省| 阿坝|