SSH가 닫혀도 서버에서 프로세스를 계속 실행합니다.

SSH가 닫혀도 서버에서 프로세스를 계속 실행합니다.

저는 기본적으로 Java 프로그램의 Jar 파일인 긴 프로그램을 서버에서 실행하고 있습니다. SSH 터미널을 닫아도 이 프로그램을 계속 실행하고 싶은데, 이 프로그램을 서버에서 계속 실행하려면 어떻게 해야 합니까?

답변1

두 가지 다른 방법:

  1. 사용 nohup- nohup으로 프로그램을 시작하여 프로그램을 계속 실행 하면 모든 출력이 현재 디렉터리의 파일 nohup /path/to/program &로 리디렉션됩니다.nohup.out
  2. 서버에 이들 중 하나가 설치되어 있으면 또는 를 사용하십시오 screen. tmux이는 다음에 로그인할 때 다시 연결할 수 있도록 하나 이상의 셸을 계속 실행하는 방법입니다. 이는 nohup보다 더 강력한 유틸리티입니다. man screen또는 man tmux자세히 알아보세요.

답변2

nohup을 사용하지 않고 시작된 프로세스를 계속 실행하는 방법은 다음과 같습니다.

대규모 아카이브의 압축을 풀기 시작했고 이제 집으로 돌아가고 싶다고 가정해 보겠습니다.

$ tar -xzf bigfile.tar.gz

프로세스를 백그라운드로 보내려면 ctrl-z를 누르세요. "jobs"를 입력하고 Enter를 누르면 프로세스의 작업 번호(아마도 1)를 볼 수 있습니다.

그런 다음 다음을 수행하십시오.

$ disown %1

답변3

screen 또는 tmux가 작동합니다.

예를 들어 참조하십시오.http://www.jeffstory.org/wordpress/?p=132사용 방법에 대한 빠른 튜토리얼입니다.

답변4

비록 한번도 사용해본 적은 없지만아파치 데몬, 당신이 원하는 것을 할 수도 있습니다. Java 프로그램을 백그라운드 프로세스로 실행합니다.

그럼 나는 사용할 것이다맨 위프로세스를 모니터링하고 리소스를 너무 많이 차지하면 종료하세요.

htop apt-get을 설치해야 합니다:

sudo apt-get install htop

그런 다음 실행

htop

프로세스가 보이면 목록에서 해당 프로세스를 선택하고(화살표 키를 통해) 키를 눌러 프로세스를 종료할 수 있습니다.

f9, k 

관련 정보