나중에 지정된 시간에 백그라운드에서 작업이 실행되도록 요청할 수 있습니까?
이것이 내가 지금까지 가지고 있는 것입니다
nohup nice MY_PROGRAM > foo.out 2> foo.err < /dev/null | at 05:23 PM Mon & echo $!
그러나 실제로 존재하지 않는 (18454)와 같은 프로세스 ID를 다시 표시합니다.
ps
작업에 할당된 프로세스 ID입니다.
18453 pts/2 00:00:00 MY_PROGRAM
PID-1 = PID인가요? 왜 이런 일이 발생하는지 아시나요? 아니면 내 명령에 문제가 있는 걸까요?
답변1
at
표준 입력에서 실행할 명령을 읽습니다.
실행 명령을 보내지 않았습니다 at
. 명령을 실행하고 명령의 출력을 으로 보내고 있습니다 at
.
다음과 같이 시도해 보세요:
echo 'nohup nice MY_PROGRAM > foo.out 2> foo.err < /dev/null' | at 05:23
이 echo
명령은 문자열을 인쇄하여 'nohup nice MY_PROGRAM'
에 |
전달합니다 at
.
왜 그것을 사용하는지 모르겠지만 아마도 직업이 있기 nohup
때문에 필요할 것 입니다.at
대화형이 아님.
PS 명령을 문자열로 전달 '
하려면 작은따옴표( ) 를 사용해야 합니다 .echo