데몬이 올바른 용어인지는 확실하지 않지만 AIX에서 "at" 명령을 사용하여 시작하는 여러 프로세스(ksh 스크립트)가 있습니다. 종료하라는 메시지가 표시될 때까지 실행될 것으로 예상되며, 이 시점에서 ksh 스크립트는 프로세스가 프로세스 소유자의 계정에 메일 메시지를 보내도록 하는 "종료"를 수행합니다. 치명적인 오류로 인해 프로세스가 종료되면 이메일 메시지도 수신됩니다. 어떤 오류로 인해 프로세스가 종료되면 메일을 보내는 것은 괜찮지만(디버깅 정보 제공을 위해) 정상 종료가 발생한 경우에는 메일 메시지가 전송되지 않도록 하고 싶습니다. 그게 가능합니까?
답변1
오류에 대한 출력이 stderr로 인쇄되고 일반 종료의 모든 출력이 stdout으로 인쇄되는 경우 start 명령을 사용할 때 출력을 리디렉션할 수 있습니다 at
.
at command > /dev/null
기본적으로 at
stdout 및 stderr은 맨 페이지에서 이메일로 전송됩니다.
사용자는 명령에 대해 표준 오류 및 표준 출력(사용 가능한 경우)을 받게 됩니다. 메일은 /usr/sbin/sendmail 명령을 사용하여 전송됩니다.
문제는 오류로 종료하면 표준 출력도 손실된다는 것입니다. 이런 종류의 작업을 위해 다른 명령을 래핑하고 출력(stdout 및 stderr)을 캐시하고 명령의 종료 값이 0이 아닌 경우(또는 일부 특수 오류 문자열)를 보내는 작은 Python 프로그램이 있습니다. 캐시된 데이터는 다음과 같습니다. 이는 오류에도 불구하고 항상 0으로 종료되는 일부 Windows 링커에 편리합니다. ).