Linux에서 "at" 명령이 필요한 이유는 무엇입니까?

Linux에서 "at" 명령이 필요한 이유는 무엇입니까?

저는 at이 명령을 사용하는 코드를 작업 중입니다. 주위를 둘러보니 배치 작업을 수행하는 데 사용되는 것으로 나타났습니다. 작업을 예약하는 데 사용됩니다. 명령과 시간(상대 또는 절대)이 입력으로 제공됩니다.

그래서 내 첫 번째 질문은: 왜 at이 명령을 사용합니까? 언제 사용해야 합니까 at? 소프트웨어를 제거하려고 시도하는 일부 bash 스크립트 코드와 다시 시작해야 하는 일부 백그라운드 서비스가 있을 때 이러한 상황이 발생했습니다.

두 번째 질문: 명령을 일괄 작업으로 실행하는 것과 명령을 호출하여(또는 서브셸에서) 직접 실행하는 것의 차이점은 무엇입니까?

답변1

Bernhard의 대답은 정확합니다. 다중 사용자 시스템에서 저녁의 부적절한 특정 시간에 무거운 프로그램을 수행하는 기능은 작업을 제출하는 사람과 그의 동료에게 특히 편리합니다. 이것은 "즐거움"의 일부입니다.

나는 박사학위 대부분을 마쳤습니다. 이런 식으로 계산하려면 스크립트를 다음과 비교하십시오.좋아요이 명령은 다른 사람이 컴퓨터를 계속 사용하게 할 때마다 내 작업의 우선 순위를 낮추는 동시에 밤새 모든 시스템 리소스를 소비하는 기능을 유지합니다.

동일한 명령을 사용하여 프로그램이 실행 중인지 확인하고 필요한 경우 다시 시작합니다.

또한 기억해야 할 점은존재하다오래전에 썼는데스크린, tmux등등, 이것은 시스템에서 로그아웃해도 죽지 않는 독립형 쉘을 갖는 쉬운 방법입니다.

마지막으로, 오랫동안 사용되어 온 cron과도 다르다는 점에 유의해야 합니다. 차이점은 at이 가끔 발생하는 반면 cron은 반복적이고 실제로 고정된 간격으로 영구적으로 실행되어야 하는 시스템 작업에 더 적합하다는 것입니다.존재하다사용자 고유의 환경과 환경 변수 설정(및 선택 사항)을 제공합니다.예약 된 일들최소한의 환경 변수 세트를 사용하십시오(단지 확인하십시오)., 예를 들어).

답변2

나는 데이터에 대해 많은 처리 작업을 수행해야 할 때 이 명령을 사용하며 at, 컴퓨터 뒤에 있지 않은 밤에 이 작업을 수행하고 싶습니다. 물론, 떠나자마자 바로 프로세스를 시작할 수도 있지만, 제가 잊어버리는 경향이 있습니다.

이 명령의 결과는 정기적으로 스크립트나 명령을 실행하는 것과 다르지 않습니다.

답변3

이와 같은 질문이 있으면 항상 매뉴얼 페이지를 참조하십시오. 그들은 매우 계몽적입니다.

그것이 무엇을 할 수 있는지

매뉴얼 페이지에서 발췌

NAME
       at, batch, atq, atrm - queue, examine or delete jobs for later execution

DESCRIPTION
       at  and  batch  read  commands  from  standard  input or a specified file
       which are to be executed at a later time, using /bin/sh.

용법

도구 사용법:

Usage: at [-V] [-q x] [-f file] [-mldbv] timespec ...
       at [-V] [-q x] [-f file] [-mldbv] -t time
       at -c job ...
       atq [-V] [-q x]
       atrm [-V] job ...
       batch

at4개의 명령( at, atq, atrmbatch)이 포함되어 있습니다. at및 를 사용하여 batch작업을 예약하고, atq예약된 내용을 확인하고, atrm작업을 실행하기 전에 삭제할 수 있습니다.

$ at -f <cmd> timspec

시간 지정

at다양한 방법으로 작업 실행 시기를 지정할 수 있습니다.

매뉴얼 페이지에서 발췌한 양식

At는 매우 복잡한 시간 사양을 허용하여 POSIX.2 표준을 확장합니다. 하루 중 특정 시간에 작업을 실행하려면 HH:MM 형식의 시간을 허용합니다. (그 시간이 지나면 다음날로 간주됩니다.) 자정, 정오, 티타임(오후 4시)도 지정할 수 있으며, 시간 접미사에 AM 또는 PM을 추가하여 아침을 나타낼 수도 있습니다. 달리거나 밤. 월 이름 일(연도 선택 가능) 형식이나 MMDD[CC]YY, MM/DD/[CC]YY 날짜 형식으로 날짜를 제공하여 작업이 실행될 날짜를 지정할 수도 있습니다. 출시 날짜, DD.MM.[CC]YY 또는 [CC]YY-MM-DD. 날짜 지정은 시간 지정을 따라야 합니다. 또한 지금과 같은 시간 + 계산 시간 단위를 제공할 수 있습니다. 여기서 시간 단위는 분, 시간, 일 또는 주일 수 있습니다. 오늘 시간에 내일 시간을 접미사로 붙여서 오늘 작업을 실행하고 내일 작업을 실행하도록 알 수 있습니다.

이 쉘 스크립트가 있다고 가정해 보겠습니다.

$ cat mycrontest.sh

#!/bin/bash
 echo "It is now $(date +%T) on $(date +%A)"

실행 예시:

$ ./mycrontest.sh
It is now 18:37:42 on Friday

과제 제출 예시:

$ at -f mycrontest.sh  10pm tomorrow
job 14 at Sun Jul  8 22:00:00 2007

$ at -f mycrontest.sh 2:00 tuesday
job 15 at Tue Jul 10 02:00:00 2007

$ at -f mycrontest.sh 2:00 july 11
job 16 at Wed Jul 11 02:00:00 2007

$ at -f mycrontest.sh 2:00 next week
job 17 at Sat Jul 14 02:00:00 2007

인용하다

답변4

at, 배치 또는 cron 세 가지 명령 중 하나를 사용하여 UNIX/Linux에서 배치 작업을 실행할 수 있습니다.

특정 날짜와 시간을 사용하여 at 작업 예약

Syntax:

    $ at time date
For example, to schedule a job at 11 am on May 20, use the following at command.

    $ at 11 am may 20

관련 정보