프로그래밍/Linux

[Linux] ssh 연결 끊겨도 지속시키기

Beginner:) 2023. 3. 11.
320x100

putty 등으로 ssh접속을 하고 연속적인 명령어를 수행시킨 뒤 ssh접속을 끊어버리면 그 연속적인 명령어는 종료된다.

 

ssh접속을 하나의 터미널(사용자 세션)로 보기 때문에 터미널을 종료시키면 세션이 종료되고 해당 프로세스가 종료되는 것과 같은 것이다.

 

실제로 ssh접속을 끊을 때 해당 터미널의 프로세스에게 hup 시그널을 보내어 실행되던 프로세스가 종료되는데

 

그 hup 시그널을 보내지 않는다 하여 nohup명령어인 것이다.

 

 

 

먼저 실제로 ssh접속을 끊으면 명령어도 종료되는지 확인한다.

 

putty 등으로 ssh접속을 하여 npm start를 실행시킨다.

 

 

npm을 종료하지 않고 putty를 끊어본다. -> 종료된다.

 


이제 ssh 접속이 끊기더라도 OS에서 명령어를 지속시켜 보자.

nohup [command]&

아까와 같이 putty 접속을 끊어도 계속 지속되는 것을 확인할 수 있다.

 

nohup명령어로 돌아가는 프로세스를 종료하는 방법은

 

1. 위 사진에서 nohup명령어 이후 나온 14955가 프로세스 ID이다. 저 PID를 kill

 

2. ps, netstat 등 어떻게든 해당 프로세스의 ID를 찾아 kill

반응형

댓글