다른 명령 중에서 at 명령으로 예약된 특정 명령을 중지합니다.

다른 명령 중에서 at 명령으로 예약된 특정 명령을 중지합니다.

나는 명령을 사용하여 3개의 명령을 예약하고 있습니다 at.

$ at teatime
 command1
 command2
 command3
 <Ctrl + D>

잠시 후 나는 실행이 command3내가 원하는 것이 아니라는 것을 깨달았지만 동시에 나머지 명령의 실행이 중지되는 것을 원하지 않았습니다.

실행을 담당하는 프로세스를 종료할 수 있도록 시스템 모니터에서 at명령이나 이와 유사한 것을 찾아보았지만 command3찾을 수 없었습니다(아마도 제가 틀렸을 수도 있습니다). 또한 이러한 명령을 실행하는 ATD 데몬을 중지할 수도 있지만 이렇게 하면 모든 명령 실행이 중지되며 이는 내가 원하는 것이 아닙니다.
멈추는 다른 방법이 있나요 command3?

답변1

가장 간단한 해결책은 세 가지를 모두 취소하고 원하는 항목을 다시 정렬하는 것입니다. atq대기 중인 작업 목록이 표시되며, at -c대기 중인 작업 하나가 번호별로 표시되고, atrm작업 하나는 번호별로 삭제됩니다.

근본적인 문제는 ctrl-d 호출부터 모든 것이 본질적으로 단일 쉘 스크립트에 저장된다는 것입니다. 이 스크립트 는 세부 사항은 기억하지 못하지만 at일반적으로 Protection 아래 어딘가에 있습니다/var/spoolat

관련 정보