nohup : 입력을 무시하는 것은 무엇을 의미합니까? life.bash > nohup.out

나는 nohup같은 명령을 사용 하고 있습니다.

nohup bash life.bash > nohup.out 2> nohup.err &

nohup.err파일 에는 항상 줄이 nohup: ignoring input있습니다. 그게 무슨 뜻인지 알아낼 수 있습니까?



답변

nohup설정 한 내용 만 알려줍니다. 리디렉션 된 표준 오류로 출력합니다 nohup.err. 표준 입력을 재지 정하여 메시지를 피할 수 있습니다.

nohup bash life.bash > nohup.out 2> nohup.err < /dev/null &

nohup표준 입력, 표준 출력 및 표준 오류를 확인하여 어느 것이 터미널에 연결되어 있는지 확인합니다. 연결된 것을 찾으면 입력을 무시하고, 출력을 nohup.out로 리디렉션 하고 , 오류를 표준 출력으로 리디렉션 하는 것으로 적절하게 처리하고 수행 된 작업을 알려줍니다. 연결을 끊어야 할 것이 없으면 아무것도 출력하지 않습니다.


답변

nohup 정확히 무엇을하고 있는지, 입력을 무시하고 있음을 알려줍니다.

이 메시지를 피하려면 stdin 을 다음 /dev/null과 같이 리디렉션 하십시오.

nohup bash life.bash </dev/null >nohup.out 2>nohup.err &

답변

man nohup

“표준 입력이 터미널 인 경우 읽을 수없는 파일에서 리디렉션하십시오.”

그 후,

nohup: ignoring input and appending output to 'nohup.out'

OPTION 항목 에도 불구하고 수행해야 할 작업을 수행하므로 입력이 삭제됩니다.

또한 리디렉션을 중복 사용하는 것 같습니다. nohup은 이미 nohup.out을 생성하며 모두 정상적으로 작동하면 stderr 도 리디렉션되어야합니다.

건배!


답변