!['at' 명령이 더 나은 방식으로 작동합니다.](https://linux55.com/image/12943/'at'%20%EB%AA%85%EB%A0%B9%EC%9D%B4%20%EB%8D%94%20%EB%82%98%EC%9D%80%20%EB%B0%A9%EC%8B%9D%EC%9C%BC%EB%A1%9C%20%EC%9E%91%EB%8F%99%ED%95%A9%EB%8B%88%EB%8B%A4..png)
명령을 사용하여 루트가 아닌 사용자로 스크립트를 실행하면 at
더 나은 방식으로 스크립트가 실행됩니다. 매뉴얼에서 대문자 큐를 사용할 때 다르다는 것을 읽었지만 명시적 큐 -q a
(기본값이기도 함)를 사용하더라도 여전히 문제가 해결되지 않습니다.
간단한 예는 다음과 같습니다.
- 예약하다:
➔ at -q a 18:02
warning: commands will be executed using /bin/sh
at> /bin/bash ~/sleep_and_count.sh 60 > ~/sleep_at_test.log
at> <EOT>
job 10 at Thu Jan 2 18:02:00 2020
- 병렬 실행:
➔ /bin/bash ~/sleep_and_count.sh 60 > ~/sleep_at_test1.log
niceness를 포함한 프로세스 목록(NI=2인 프로세스의 출처 at
:
PID NI CMD
11839 2 sh
11840 2 /bin/bash /home/tcigler/sleep_and_count.sh 60
12441 0 /bin/bash /home/tcigler/sleep_and_count.sh 60
12459 2 sleep 1
12469 0 sleep 1
목표는 일회성 애플리케이션 다시 시작을 예약하는 것입니다. 즉, 다음 24시간 내 특정 시간에 스크립트를 한 번 실행하지만루트가 아닌 기술 사용자 사용. 재시작 후 앱이 느려져서 호감도가 높아지는 것이 문제였습니다. 그렇지 않으면 at
명령이 정상적으로 작동합니다.
이 목표를 달성하는 방법은 무엇입니까?