단위/타이머 파일 없이 명령줄에서 임시 사용자 수준 시스템 타이머를 만드는 방법은 무엇입니까?

단위/타이머 파일 없이 명령줄에서 임시 사용자 수준 시스템 타이머를 만드는 방법은 무엇입니까?

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, 로그 등에 의해 표시되는 설명을 제공하는 데 사용됩니다.)

임시 시스템 장치는 일반 장치처럼 작동합니다. 더 이상 어디에서도 참조되지 않으면 설명된 대로 가비지 수집됩니다.여기.

관련 정보