nohup 애플리케이션이 다음으로 리디렉션되는 경우:
nohup bash -c "printf \"command\n\"" &> /dev/null
파일 nohup.out
이 생성되지 않지만 명령을 실행하는 터미널에서도 출력이 나오지 않습니다. 명령의 터미널 출력을 보존하지만 파일을 생성하지 않는 방법은 무엇입니까 nohup.out
?
답변1
이 시도,
콘솔과 nohup.out 파일에서 합계를 얻으려면 STDOUT
명령을 실행하기 전에 다음 명령을 실행하십시오.STDERR
nohup
exec > >(awk '{ print $0; fflush();}' | tee -a nohup.out)
exec 2> >(awk '{ print $0; fflush();}' | tee -a nohup.out >&2)
nohup bash -c "printf \"command\n\"" &
편집하다:
nohup.out
만들고 싶지 않다면 이것을 시도 하십시오
exec > >(awk '{ print $0; fflush();}')
exec 2> >(awk '{ print $0; fflush();}')
nohup bash -c "printf \"command\n\"" &
콘솔에 nohup.out
표시될 때 및 가 생성 되지 않습니다 STDOUT
.STDERR
위의 줄을 스크립트에 넣고 백그라운드에서 실행하세요.
답변2
다음과 같이 실행할 수 있습니다.
nohup process & tail -f nohup.out
또는 사용티, 이는 귀하의 요구 사항을 완벽하게 충족할 수 있습니다. 표준 입력에서 읽고 표준 출력 및 파일에 쓰기
nohup process 1>&2 | tee nohup.out &