파일 이름을 수동으로 지정하지 않고 오류 발생 시에만 nohup.out이 생성되도록 할 수 있습니까?

파일 이름을 수동으로 지정하지 않고 오류 발생 시에만 nohup.out이 생성되도록 할 수 있습니까?

nohup ./file $1 $2 &백그라운드에서 실행하여 stdout이 아닌 오류만 생성 하도록 할 수 있습니까 ?./filenohup.out

그러나 수동으로 지정하지 마십시오 nohup.out.

nohup ./file $1 $2 >/dev/null 2>nohup.out &

또한 다음 상태 nohup: redirecting stderr to stdout및 리디렉션은 오류를 출력하거나 리디렉션하지 않습니다. 오류를 출력으로 리디렉션하라고 지시하지만 출력이 /dev/null로 리디렉션되기 때문인 것 같습니다.

nohup ./file $1 $2 >/dev/null &

답변1

명시된 바와 같이 man nohup:

표준 입력이 터미널인 경우 읽을 수 없는 파일에서 리디렉션하십시오. 표준 출력이 터미널인 경우 nohup.out가능하면 출력을 터미널에 추가하고, $HOME/nohup.out그렇지 않으면 출력을 추가합니다. 표준 오류가 터미널인 경우 표준 출력으로 리디렉션합니다. 출력을 파일에 저장하려면 다음을 사용하십시오.nohup COMMAND > FILE

이 명령을 터미널에서 실행하고 있으므로 표준 오류는 표준 출력으로 리디렉션되며 OP에 제안된 파일 이름을 지정하지 않으면 이 작업을 수행할 수 없습니다.

관련 정보