모든`at` 작업 제거


32

예약 된 at작업 을 제거해야한다는 것을 알고 atrm "numjob1 numjob2"있지만 모든 작업에 대해 쉽게 수행 할 수있는 방법이 있습니까?

답변:


31

atq에서 모든 작업을 제거하기 위해이 명령을 실행할 수 있습니다

 for i in `atq | awk '{print $1}'`;do atrm $i;done

2
이 답변의 변형at -l | awk '{printf "%s ", $1}' | xargs atrm
Sergiy Kolodyazhnyy

10

다음과 같이 할 수 있습니다.

for i in $(atq | cut -f 1); do atrm $i; done

FreeBSD의에서 그것의 cut -f3첫 번째 열은 날짜입니다
데이비드 Jashi



1

다음은 중괄호를 피하고 직관적으로 이해하는 xargs 버전입니다.

atq | cut -f 1 | xargs atrm

타임 스탬프 / 사용자 ID별로 특정 작업을 grep 한 다음 제거 할 수도 있습니다.

atq | grep "2018-10-22 16:" | cut -f 1 | xargs atrm

0

atd에 58k 개 이상의 작업이있었습니다 (누군가 서버를 재부팅했으며 어떤 이유로 atd 서비스가 시작되지 않았습니다). atrm을 사용하여 작업을 제거하는 것은 대기열이 매우 높을 때 매우 고통 스럽습니다.

atd를 중지하고 / var / spool / atjobs의 모든 dirs 와 / var / spool / atspool의 파일을 삭제했습니다 . 나를 위해 그것은 효과가있었습니다.

rm -rf /var/spool/atjobs/* ; rm /var/spool/atspool/*

atd다시 시작하는 것에 대해 , 그리고 그것이 성공적 이었는지 여부 에 대해서는 아무 것도 말하지 않으며, 이것이 유닉스에 적합한 솔루션이라고 언급하지도 않습니다. 다른 사용자의 작업이 삭제되지 않도록 어떻게 확인 했습니까?
Kusalananda

승인! 죄송합니다! 프로세스 후에 atd를 시작해야합니다. 내 솔루션은 "SUSE Linux Enterprise Server 12"입니다. 그러나 다른 배포판에서도 사용할 수 있다고 생각합니다. "man"에서 디렉토리 정보를 찾았습니다. 내 상황에서는 루트 만 atd를 사용하고 있으며 파일을 제거하는 것이 안전했습니다.
펠리페
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.