표시 할 화면이없는 경우 표준 출력 at
과 cron
작업의 위치 는 어디 입니까?
작업이 시작된 디렉토리 나 홈 디렉토리에는 나타나지 않습니다.
백그라운드 작업을 디버그하거나 추적하는 방법을 모른다면 실제로 어떻게 이것을 알 수 있습니까?
답변
cron 매뉴얼 페이지에서 :
명령을 실행할 때 모든 출력은 crontab의 소유자 (또는 crontab의 MAILTO 환경 변수에 이름이 지정된 사용자에게있는 경우)로 메일로 전송됩니다. 이러한 프로세스를 실행하는 크론의 하위 사본은 syslog 및 ps 출력에서 볼 수 있듯이 이름이 대문자로 강제 변환됩니다.
따라서 / root의 메일 또는 syslog (예 : / var / log / syslog)를 확인해야합니다.
답변
장시간 실행되는 프로세스의 경우 이메일을 받기 전에 출력이 무엇인지 아는 것이 때때로 유용합니다.
ps
실행중인 프로그램의 프로세스 ID를 찾는 데 사용하십시오 (PID
아래).-
사용하는
lsof
출력이 기록되는 파일을 찾을 수 :lsof -p PID
출력 에서 열 머리글 아래에서 1u
및 2u
행을 찾으십시오 FD
.
이 줄은 프로세스 출력이 메일로 전송되기 전에 어떤 임시 파일로 들어가는 지 알려줍니다. 일반적으로의 at
경우 파일은 아래에 /var/spool/cron/atjobs/
있습니다. 마지막으로 해당 파일을 표시하면 프로세스 (현재) 출력을 찾을 수 있습니다.