나는 nohup
한동안 명령을 사용해 왔습니다.
nohup bash life.bash > nohup.out 2> nohup.err &
nohup.err
파일 에는 항상 한 줄이 있습니다 nohup: ignoring input
. 이것이 무엇을 의미하는지 알아내도록 도와주실 수 있나요?
답변1
이는 nohup
설정이 무엇인지 알려줄 뿐이며 표준 오류로 출력하며 nohup.err
표준 입력을 리디렉션하여 해당 메시지를 피할 수 있습니다.
nohup bash life.bash > nohup.out 2> nohup.err < /dev/null &
nohup
표준 입력, 표준 출력 및 표준 오류를 확인하여 어떤 연결이 터미널에 연결되어 있는지 확인하고 연결을 찾으면 적절하게 처리합니다(입력 무시, 출력 리디렉션 nohup.out
, 오류를 표준 출력으로 리디렉션). 그것은 당신에게 그렇습니다. 연결을 끊어야 하는 항목을 찾지 못하면 아무것도 출력되지 않습니다.
답변2
nohup
무엇을 하고 있는지 알려드리자면, 입력을 무시하고 있습니다.
이 메시지를 보지 않으려면 리디렉션하세요.표준 입력/dev/null
이것 으로부터
nohup bash life.bash </dev/null >nohup.out 2>nohup.err &
답변3
man nohup
"표준 입력이 터미널인 경우 읽을 수 없는 파일에서 리디렉션하십시오."
그러므로,
nohup: ignoring input and appending output to 'nohup.out'
해야 할 일을 하고 있는데도옵션항목이 있으므로 입력이 삭제됩니다.
반품리디렉션을 재사용하고 있는 것 같습니다.북면nohup.out이 생성되었습니다. 모든 것이 제대로 작동한다면,표준 에러거기에서도 리디렉션되어야 합니다.
건배!
답변4
다음과 같이 STDIN 파일 설명자를 닫을 수 있습니다. <&-
전체 줄은 다음과 같습니다.
nohup ./script.sh >> ./out 2>&1 <&- &