nohup은 No Hang Ups의 약자로 백그라운드로 지속적으로 실행하는 프로세스를 의미한다.
nohup은 실행을 현재 사용자 세션이 아닌 운영체제가 제공하는 백그라운드 공간에서 실행을 한다.
&는 사용자 세션에서 실행되며, 화면 출력만 백그라운드로 전환한 상태이다.
nohup [프로세스] &
nohup python3 -u filename.py &
nohup.out 을 통해 실행 내용을 확인할 수 있는데, nohup.out은 파일을 기록할 때 Python에서 출력을 바로 업데이트하지 않고 버퍼에 기록하였다가 업데이트하기 때문에 출력내용이 바로 기록되지 않는다.
이를 Python에서도 인지하여 python을 실행할 때 출력내용을 바로 업데이트할 수 있도록 -u 인자를 제공한다.
nohup.out 파일에 진행상황이나 에러가 출력되는데 파일명을 바꾸고 싶다면
nohup python -u [실행문] > 로그파일명 &
nohup 으로 실행한 프로세스를 종료하려면 먼저 ps 명령어로 PID를 식별한 다음,
kill 명령어를 사용하여 해당 프로세스에 종료 시그널을 보내서 종료하면 된다.
ps -ef | grep [프로세스명]
# root 다음에 출력되는게 PID임
# PID 식별 후
kill -15 [PID]
# 종료되지 않으면 강제 종료 (비권장)
kill -9 [PID]
▮ 서버를 ssh로 VS Code에 연결하기
1. VS code에서 Remote SSH 익스텐션 설치하기
2. .ssh/config 파일 작성
우선 터미널 환경에서 .ssh/config 파일을 연다.
User@DESKTOP-FEQ0UC5 MINGW64 ~
$ vi ~/.ssh/config
아래와 같은 형식으로 작성해준다.
Host <원하는이름>
HostName <IP>
Port <Port>
User root
IdentityFile ~/Pems/key # Key 파일 경로
ServerAliveInterval 300 # 터미널 켜놓고 아무 작업 안해도 튕기지 않도록 해주는 역할
ServerAliveCountMax 96 # 이하동문
3. ssh <원하는이름> 으로 접속
User@DESKTOP-FEQ0UC5 MINGW64 ~
$ ssh aistage
아니면 ctrl+shift+p로 Remote-SSH:호스트의 연결... 선택하면 연결할 수 있는 remote-ssh 목록이 나오므로 선택하면 됨