nohup 출력을 nohup.out 이외의 로그 파일로 리디렉션하는 방법이 있습니까?


112

nohup프로세스를 끊지 않도록 프로그램을 자주 사용합니다 . 따라서 프로그램 program을 끊지 않게 하려면 다음 명령을 사용하십시오.

nohup program &

여기서 &백그라운드에서 프로세스를 넣습니다.

시작할 때 nohup다음과 같은 메시지가 표시됩니다.

nohup :`nohup.out '에 출력 추가

출력을 다른 파일로 보내는 방법이 nohup.out있습니까? 종종을 사용하여 동일한 디렉토리에서 많은 프로세스를 실행하려고 nohup하지만이 작업을 수행하면 모든 출력이 단일 nohup.out파일에 함께 집중 됩니다.

매뉴얼 페이지 (예 : here )에 로그 파일을 지정하는 옵션이없는 것 같습니다. 이것을 확인해 주시겠습니까? 또한이 문제를 해결할 수있는 방법에 대한 생각이 있습니까?


3
년 늦었지만 좋은 포괄적 인 대답은 여기에 주어졌다 : stackoverflow.com/questions/4549489/...
라훌 제이 자

답변:


132

GNU coreutils nohup매뉴얼 페이지는 일반적인 리디렉션을 사용할 수 있음을 나타냅니다.

표준 입력이 터미널 인 경우 / dev / null에서 리디렉션하십시오. 표준 출력이 터미널 인 경우 가능하면 'nohup.out'에 출력을 추가하고 그렇지 않으면 '$ HOME / nohup.out'을 추가하십시오. 표준 오류가 터미널 인 경우 표준 출력으로 리디렉션하십시오. 출력을 FILE에 저장하려면 'nohup COMMAND> FILE'을 사용하십시오.

편집 : 나는 처음에 귀하의 링크를 읽지 못했습니다; 다른 버전 nohup의이 있을 수 있지만이 섹션에서는 여전히 일반적인 리디렉션을 사용할 수 있다고 제안합니다.

 nohup.out          The output file of the nohup execution if
                    standard  output is a terminal and if the
                    current directory is writable.

표준 출력 및 표준 오류를 다른 파일로 리디렉션 할 수 있습니다.

nohup myprogram > myprogram.out 2> myprogram.err

또는 같은 파일로 :

nohup myprogram > myprogram.out 2>&1

54
구체적으로 대답하려면 다음을 사용 nohup program > program.out &하십시오. program.out대신 출력을 쓰십시오nohup.out
Jim Paris

4
그리고 이것은 GNU 유틸리티에만 국한된 것이 아니며 동작은 POSIX에 의해 지정됩니다.
Gilles

3
작동하지 않는 것 같습니다. nohup 명령의 출력을 myprogram의 출력으로 리디렉션합니다.
Kris

2
@Kris 리디렉션 후행하기 전에 이루어져야 &문자
yunzen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.