Anda harus menerima jawaban @Zanna. itu jauh lebih menjawab pertanyaan Anda seperti saya, bahkan jika itu pendekatan yang valid juga.
Videonauth
Jawaban:
20
Anda dapat menggunakan beberapa systemctlopsi:
-t, --type=
The argument should be a comma-separated list of unit types such as
service and socket.
If one of the arguments is a unit type, when listing units, limit
display to certain unit types. Otherwise, units of all types will
be shown.
As a special case, if one of the arguments is help, a list of
allowed values will be printed and the program will exit.
--state=
The argument should be a comma-separated list of unit LOAD, SUB, or
ACTIVE states. When listing units, show only those in the specified
states. Use --state=failed to show only failed units.
As a special case, if one of the arguments is help, a list of
allowed values will be printed and the program will exit.
The systemctlperintah tanpa subcommands mengasumsikan list-units, jadi ... systemctl --type-service --state=running, atau hanya polos systemctluntuk digunakan cepat.
Setelah mencari-cari lebih lama dari yang diperlukan, saya menemukan metode penentuan layanan yang berjalan sedikit berbeda. Ini juga menunjukkan bagaimana cara menghitung jumlah layanan yang berjalan. Cara ini memastikan bahwa itu tidak sengaja menangkap sesuatu dengan kata menjalankan atau layanan dalam nama layanan itu sendiri.
# Output all active services:
systemctl -t service --state=active --no-pager --no-legend
# Count of all active services:
systemctl -t service --state=active --no-pager --no-legend | grep -c -
# Output all running services:
systemctl -t service --state=active --no-pager --no-legend | egrep '^*\.service.*running'
# Count of all running services:
systemctl -t service --state=active --no-pager --no-legend | egrep '^*\.service.*running' -c -
# Output only the service and its description:
systemctl -t service --state=active --no-pager --no-legend | egrep '^*\.service.*running' | awk 'BEGIN { FS = " ";} {for (i = 2; i <= 4; i++) { $i = "" }; print}'
Jawaban:
Anda dapat menggunakan beberapa
systemctl
opsi:Jadi mungkin Anda ingin:
Yang mencantumkan semua layanan aktif termasuk yang telah keluar. Jika Anda hanya mengejar yang berjalan saat ini, Anda dapat menggunakan:
sumber
systemctl
perintah tanpa subcommands mengasumsikanlist-units
, jadi ...systemctl --type-service --state=running
, atau hanya polossystemctl
untuk digunakan cepat.Itu adalah (lihat
man 1 systemctl
):atau (lihat juga
man 8 service
)Di mana
[+]
menunjukkan layanan yang benar-benar berjalan.sumber
Setelah mencari-cari lebih lama dari yang diperlukan, saya menemukan metode penentuan layanan yang berjalan sedikit berbeda. Ini juga menunjukkan bagaimana cara menghitung jumlah layanan yang berjalan. Cara ini memastikan bahwa itu tidak sengaja menangkap sesuatu dengan kata menjalankan atau layanan dalam nama layanan itu sendiri.
sumber