私はsystemd-run --user
仕事を運営するために多くのものを使用しています。一時単位だけリストしたいのですが、systemctl --user list-units
そうするオプションはないようです。私はまたTransient
不動産をリストすることができないので、systemctl --user list-units --output json
これは私には効果がありません。
一時職(Transient=yes
)のみをリストするにはどうすればよいですか?
ベストアンサー1
いつでも、すべてのセルを繰り返してsystemctl --user show -p Transient --value
各セルで実行できます。
systemctl --user list-units --full --no-legend --no-pager --all |
while IFS=' ' read -r u rest; do
[ "$(systemctl --user show -p Transient --no-pager --value -- "$u")" = yes ] &&
printf '%s\n' "$u"
done
スクリプトはuser-unit-prop-grep
次のように書くことができます。
#! /bin/sh -
systemctl --user list-units --full --no-legend --no-pager --all |
while IFS=' ' read -r u rest; do
systemctl --user show --no-pager -- "$u" |
grep -H --label="$u" "$@"
done
次に単位をリストしますTransient=yes
。
user-unit-prop-grep -lx Transient=yes
Transient
または、各セル名の横に属性値を印刷します。
user-unit-prop-grep -Po '^Transient=\K.*'
これは、ユニットごとに複数のコマンドを実行するため、非常に遅いです。