나는 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.*'
이는 단위당 여러 명령을 실행하기 때문에 매우 느립니다.