기본적으로 를 쓰고 nohup
닫 습니다 . 나는 반대로 이렇게 말하고 싶다.stdout
nohup.out
stderr
stderr
파일 에 쓰고 stdout
.
답변1
다음을 수행할 수 있습니다.
nohup command 2>&1 >/dev/null &
첫 번째 리디렉션은 STDERR에서 STDOUT
현재 처리기로 작성되기 때문에 nohup.out
. 그런 다음 STDOUT
리디렉션되었습니다.NULL
답변2
표준 오류를 원하는 파일로 리디렉션하면 됩니다.
$ ls
test.sh
$ cat test.sh
#!/bin/bash
echo "out"
echo "error" 1>&2
$ ./test.sh
out
error
$ nohup ./test.sh < /dev/null > /dev/null 2> err.out
$ ls
err.out test.sh
$ cat err.out
error
매뉴얼에서:
표준 입력이 터미널인 경우 읽을 수 없는 파일에서 리디렉션하십시오. 표준 출력이 터미널인 경우
nohup.out
가능하면 출력을 터미널에 추가하고,$HOME/nohup.out
그렇지 않으면 출력을 추가합니다. 표준 오류가 터미널인 경우 표준 출력으로 리디렉션합니다. 출력을 FILE에 저장하려면nohup COMMAND > FILE
.
stderr가 리디렉션되면 자동으로 작동하므로 정상적으로 작동하며 위에 표시된 대로 작동합니다.