nohup이 출력 파일을 생성하지 않도록 하여 모든 공간을 차지하지 않도록 하려면 어떻게 해야 합니까?

nohup이 출력 파일을 생성하지 않도록 하여 모든 공간을 차지하지 않도록 하려면 어떻게 해야 합니까?

그래서 일부 서버를 시작했고 nohup ./myServer &실제로 내 서버에 로그인했기 때문에 nohup의 도움이 필요하지 않지만 66GB nohup.out며칠 안에 파일을 어떻게 가져오더라도 이것은 문제입니다. 난 그냥 응용 프로그램을 시작하고 자체적으로 실행되도록 하고 싶습니다. 그렇다면 nohup이 출력 파일을 생성하지 않고 공간을 차지하지 않게 하려면 어떻게 해야 할까요?

답변1

출력을 다음으로 리디렉션 /dev/null:

nohup ./myServer >& /dev/null &

또는 표준 출력을 삭제하고 표준 오류를 유지하려면 다음 명령을 사용할 수 있습니다.

nohup ./myServer > /dev/null &

리디렉션(bash 사용)에 대한 추가 제어가 필요한 경우 여기에서 자세한 내용을 확인할 수 있습니다.

답변2

setsid나는 오늘 이 유틸리티에 대해 배웠습니다. 왜 그렇게 오래 걸렸는지 모르겠습니다. setid 유틸리티를 사용하여 다음과 같이 프로세스를 실행할 수 있습니다.

setsid ./myServer

setid는 새 세션에서 프로그램을 실행합니다. 이미 프로세스 그룹 리더인 경우 이 명령은 fork(2)를 호출합니다. 그렇지 않으면 현재 프로세스에서 프로그램을 실행합니다. 이 기본 동작은 --fork 옵션으로 재정의될 수 있습니다.

/usr/bin/setsidUbuntu에서 최소 설치를 통해 util-linux 패키지와 함께 설치됩니다.

관련 정보