다른 스크립트가 실행된 후 얼마 후에 실행해야 하는 Python 스크립트를 작성했습니다. 나는 at
명령을 찾았고 약간의 파고 후에 다음을 시도했습니다 (가독성을 위해 여러 줄로 나누었습니다).
/private/var/folders/w9/6q0rjl6n4yv859fpxbg4123w0000gn/T/S10/fm-git.py
--filename chiv-lib --repository /Users/chuck/Projects/chivalry/chiv-lib/
--path Chivalry/ --comment "test" | at 2:52pm
그러면 즉시 스크립트가 실행되었습니다. 그래서 나는 노력했다
at 2:53pm
> /private/var/folders/w9/6q0rjl6n4yv859fpxbg4123w0000gn/T/S10/fm-git.py
> --filename chiv-lib --repository /Users/chuck/Projects/chivalry/chiv-lib/
> --path Chivalry/ --comment "test"
> ^D
하지만 시간이 흘렀고 스크립트가 실행되지 않았습니다. 위의 처리 후 at -l
출력은 다음과 같습니다.
13 Mon Nov 27 02:53:00 2017
12 Mon Nov 27 14:52:00 2017
이것은 macOS High Sierra에 있습니다. at
이것이 올바른 유틸리티입니까? 그렇다면 여기서 내가 원하는 것을 어떻게 수행할 수 있습니까?
답변1
Mac OS X에서(이 하드웨어는 macOS를 실행하기에는 너무 오래되었기 때문에) 살펴보겠습니다.myat
at
원하는 날짜 형식이 기억나지 않아서 ...
$ date
domingo, 26 de noviembre de 2017, 16:34:12 PST
$ myat 16:36
touch $HOME/nananananananananananananananana-atran
job 2 at Sun Nov 26 16:36:00 2017
$ atq
1 Wed Mar 9 08:00:00 2016
2 Sun Nov 26 16:36:00 2017
$
...2016년에도 여전히 일자리가 있는 이유는 무엇입니까?
$ date
domingo, 26 de noviembre de 2017, 16:36:33 PST
$ atq
1 Wed Mar 9 08:00:00 2016
2 Sun Nov 26 16:36:00 2017
$
흠... 매뉴얼 페이지가 at
도움이 될까요?
IMPLEMENTATION NOTES
Note that at is implemented through the launchd(8) daemon periodically
invoking atrun(8), which is disabled by default. See atrun(8) for infor-
mation about enabling atrun.
동시에 atrun(8)
우리는 발견했습니다 ...
Execute the following command as root to enable atrun:
launchctl load -w
/System/Library/LaunchDaemons/com.apple.atrun.plist
어머나. 해 보자...
$ sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist
그런 다음 1~2분 정도 기다립니다.
$ atq
$ ls *atran
nananananananananananananananana-atran
$
켜면 좋아 보입니다(배터리나 귀중한 CPU 칩이 소모될 수 있다는 경고...)