色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

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

冬至子 ? 來源:TIAP ? 作者:劉光錄 ? 2022-11-15 18:02 ? 次閱讀

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

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

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

如何列出 systemd 中活動的服務

systemd 服務由 systemctl 命令管理。如果我們不帶任何參數運行 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 :單元的高級別狀態(high level state);
  • SUB :單元的低級別狀態。活動單元(active unit)可以處于運行狀態(running state)或退出狀態(exited state),此值取決于服務類型。

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

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

活動狀態(active state)也有一個子狀態(sub-status),比如正在運行(running)、已退出(exited)等。所以,可以在子狀態中使用 --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

列出系統啟動時會自動運行的 systemd 服務

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

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

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

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

以下為輸出:

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 一列了嗎?它在前一個例子中也出現了。

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

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

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

sudo systemd enable xyz.service

顯示某個特定 systemd 服務的狀態

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

可以使用 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

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

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

systemctl is-active application.service

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

systemctl is-enabled application.service

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

審核編輯:劉清

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

    關注

    4

    文章

    593

    瀏覽量

    27393
  • sub函數
    +關注

    關注

    0

    文章

    3

    瀏覽量

    1009
  • unit技術
    +關注

    關注

    0

    文章

    2

    瀏覽量

    1551
收藏 人收藏

    評論

    相關推薦

    Linux使用Systemd管理進程服務

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

    Linux使用Systemd管理進程服務

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

    如何在 Linux 上從 NetworkManager 切換為 systemd

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

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

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

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

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

    systemd定時器的基本操作方法

    定時器任務作為嵌入式系統中常見的應用,systemd 定時器為用戶提供更多的可配置功能以及優化選項。本文列舉了 systemd 定時器基本操作方法,以及和cron 對比,幫助用戶更快得使用。更多的技術細節和功能請參考下面的鏈接內容。
    發表于 01-01 07:37

    i.M8XMQ開發板如何通過Systemd服務實現應用自啟

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

    如何將imx8mpevk板的默認Systemd - Init Manager更改為Sysvinit?

    = "sysvinit" 構建了圖像。使用以下命令搜索確認變量值。$bitbake -e^INIT_MANAGER=但是為 Imx8mpevk“ps”命令從 SD 卡啟動的圖像仍然顯示“PID 1 systemd”。
    發表于 03-15 06:42

    Systemd 又遭背鍋:創建 Devuan 是為了保證 Linux 的穩定性

    Systemd 開發者將社區細化,大大降低了穩定性,增加了復雜性,但卻沒有多少實際價值。”
    的頭像 發表于 12-14 16:55 ?5160次閱讀

    Linux系統與服務管理工具Systemd被曝存在3大漏洞

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

    全加器真值表解釋

    全加器能進行加數、被加數和低位來的進位信號相加,依據求和作用給出該位的進位信號。依據的功用,能夠列出的真值表,如表1.2所示。
    發表于 02-18 14:33 ?5.9w次閱讀
    全加器真值表<b class='flag-5'>解釋</b>

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

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

    Linux項目開發,你必須了解Systemd服務!

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

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

    Systemd是什么,以前linux系統啟動init機制,由于init一方面對于進程的管理是串行化的,容易出現阻塞情況,另一方面init也僅僅是執行啟動腳本,并不能對服務本身進行更多的管理
    的頭像 發表于 07-22 18:03 ?1532次閱讀

    systemd journal收集日志的三種方式

    隨著 systemd 成了主流的 init 系統,systemd 的功能也在不斷的增加,比如對系統日志的管理。Systemd 設計的日志系統好處多多,這里筆者就不再贅述了,本文筆者主要介紹 s
    的頭像 發表于 10-23 11:50 ?236次閱讀
    <b class='flag-5'>systemd</b> journal收集日志的三種方式
    主站蜘蛛池模板: 男人J放进女人屁股免费观看| 超碰97人人做人人爱亚洲尤物| 国产一区日韩二区欧美三区| 99成人在线视频| 午夜一级毛片看看| 三叶草未满十八岁| 日本在线高清不卡免费播放| 欧美人与动交zOZ0| 欧美精品3atv一区二区三区| 男男h开荤粗肉h文1v1| 暖暖的高清视频在线观看免费中文| 久久久无码精品亚洲日韩按摩| 久久yy99re66| 久久精品日本免费线| 久久久久影视| 美女张开腿让男生桶动态图| 麻豆国产自制在线观看| 蜜桃婷婷狠狠久久综合9色| 免费精品国产日韩热久久| 美女挑战50厘米长的黑人| 欧美18videosex| 秋霞三级理伦免费观看| 三级色视频| 香蕉久久av一区二区三区| 青青青久久久| 日日碰狠狠躁久久躁综合网| 日韩高清特级特黄毛片| 视频在线免费观看| 漂亮的保姆3中文版完整版| 秋霞最新高清无码鲁丝片| 乐乐亚洲精品综合影院| 精品国产原创在线观看视频| 精品亚洲国产熟女福利自在线| 久久九九久精品国产尤物| 毛片大片免费看| 强姧伦久久久久久久久| 叔叔 电影完整版免费观看韩国| 亚洲 中文 自拍 无码| 爽娇妻快高h| 亚洲国产果果在线播放在线| 约艺术院校96年清纯白嫩|