- Deutsch
- English systemd
- English elogind
- 中文 (zh-CN)
- 繁體中文 (zh-TW)
BUSCTL(1) | busctl | BUSCTL(1) |
NAME¶
busctl - 內省與監視 D-Bus 總線
SYNOPSIS¶
busctl [OPTIONS...] [COMMAND] [NAME...]
描述¶
busctl 可用於內省與監視 D-Bus 總線
選項¶
能夠識別的命令行選項如下:
--address=ADDRESS
--show-machine
--unique
--acquired
--activatable
--match=MATCH
--size=
--list
--quiet
--verbose
--expect-reply=BOOL
--auto-start=BOOL
--allow-interactive-authorization=BOOL
--timeout=SECS
--augment-creds=BOOL
--user
--system
-H, --host=
-M, --machine=
--no-pager
--no-legend
-h, --help
--version
命令¶
能夠識別的命令如下:
list
status [SERVICE]
monitor [SERVICE...]
capture [SERVICE...]
tree [SERVICE...]
introspect SERVICE OBJECT [INTERFACE]
call SERVICE OBJECT INTERFACE METHOD [SIGNATURE [ARGUMENT...]]
get-property SERVICE OBJECT INTERFACE PROPERTY...
set-property SERVICE OBJECT INTERFACE PROPERTY SIGNATURE ARGUMENT...
help
參數格式¶
call 與 set-property 命令都接收一個類型標記(SIGNATURE)與多個參數字符串(ARGUMENT)。 有關"類型標記"的詳細說明, 參見 Type system chapter of the D-Bus specification[2] 文檔的"Type System"小節。 對於簡單類型(Basic types), 類型標記(SIGNATURE)後面的每個參數(ARGUMENT)都必須是參數值的字符串表示。 布爾類型真值可以表示爲 "true", "yes", "on", "1" ; 布爾類型假值可以表示爲 "false", "no", "off", "0" 。 對於數組,先是一個表示數組項數的數字,然後跟着數組中的每一項。 對於變量,先是一個表示變量類型的字符,然後跟着變量的值。 對於字典與結構,直接指定其內容即可。
例如,
s jawoll
是一個簡單的字符串 "jawoll" , "s"是類型標記,"jawoll"是參數字符串。
as 3 hello world foobar
是一個字符串數組,包含3個成員,分別是 "hello", "world", "foobar"
a{sv} 3 One s Eins Two u 2 Yes b true
是一個字典數組, 該字典將字符串映射爲變量,包含3個成員,分別是: 字符串 "One" 映射到字符串 "Eins" , 字符串 "Two" 映射到32位無符號整數"2", 字符串 "Yes" 映射到布爾真值。
注意, call, get-property, introspect 命令在輸出應答時也同樣是這個格式。 由於這個格式過於精簡不易理解, 所以 call 與 get-property 命令提供了 --verbose 選項用於輸出詳細的、 易於理解的多行輸出格式。
例子¶
Example 1. 讀寫屬性
下面的兩個命令,首先寫入一個屬性,然後再讀取它。 該屬性位於 "org.freedesktop.systemd1" 服務的 "/org/freedesktop/systemd1" 對象中, 屬性名是 "org.freedesktop.systemd1.Manager" 接口上的 "LogLevel" , 此屬性是一個簡單的字符串:
# busctl set-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager LogLevel s debug # busctl get-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager LogLevel s "debug"
Example 2. 精簡輸出與詳細輸出
下面的兩個命令,兩次讀取同一個屬性(字符串數組類型), 第一次以精簡格式顯示, 第二次以詳細格式顯示:
$ busctl get-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager Environment as 2 "LANG=en_US.utf8" "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin" $ busctl get-property --verbose org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager Environment ARRAY "s" {
STRING "LANG=en_US.utf8";
STRING "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"; };
Example 3. 調用方法
下面的命令, 在 "org.freedesktop.systemd1" 服務的 "/org/freedesktop/systemd1" 對象的 "org.freedesktop.systemd1.Manager" 接口上調用了 "StartUnit" 方法, 並且給此方法傳遞了 "cups.service" 與 "replace" 兩個字符串。 而此方法返回了一個對象路徑:
# busctl call org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager StartUnit ss "cups.service" "replace" o "/org/freedesktop/systemd1/job/42684"
參見¶
dbus-daemon(1), D-Bus[3], sd-bus(3), systemd(1), machinectl(1), wireshark(1)
NOTES¶
- 1.
- Libpcap File Format
- 2.
- Type system chapter of the D-Bus specification
- 3.
- D-Bus
跋¶
本頁面中文版由中文 man 手冊頁計劃提供。
翻譯人員:金步國
金步國作品集:http://www.jinbuguo.com
中文 man
手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
systemd 231 |