그래서 일부 서버를 시작했고 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/setsid
Ubuntu에서 최소 설치를 통해 util-linux 패키지와 함께 설치됩니다.