notify-send "invoked" "$(date)"
시스템 타이머를 사용하여 5초마다 이 명령을 실행하고 싶다고 가정해 보겠습니다 .
해당 유닛 파일과 타이머 파일을 생성한 다음 enable
사용자의 타이머를 생성하는 방법을 알고 있지만 순전히 CLI 기반 솔루션을 원합니다.
2개의 파일을 생성하지 않고 명령줄에서 위의 작업을 수행하고 싶습니다. 그것은 다음과 같습니다: systemd-blah enable my_command --every 5s
.
답변1
당신이 찾고있는systemd-run
, 특히 타이머 관련 옵션 중 하나:--on-active=, --on-boot=, --on-startup=, --on-unit-active=, --on-unit-inactive=
그리고--on-calendar=
.
단조 타이머를 사용하십시오.
systemd-run --user --on-startup=0s --on-unit-inactive=5s --timer-property=AccuracySec=100ms sh -c 'notify-send "invoked" "$(date)"'
달력(벽시계) 타이머 사용:
systemd-run --user --on-calendar='*:*:0/5' --timer-property=AccuracySec=100ms sh -c 'notify-send "invoked" "$(date)"'
기본 타이머 정밀도는 1분이며 이는 5초만큼 짧은 타이머 간격에는 너무 약합니다.
귀하에게 유용할 수 있는 다른 매개변수는 systemd-run
다음과 같습니다.--unit
/-u
(단위 명명용) 및--description
(트리거된 명령이 아닌 systemd, 로그 등에 의해 표시되는 설명을 제공하는 데 사용됩니다.)
임시 시스템 장치는 일반 장치처럼 작동합니다. 더 이상 어디에서도 참조되지 않으면 설명된 대로 가비지 수집됩니다.여기.