새소식

부스트캠프 AI Tech 4기

[WEEK17/18/19] TIPS

  • -

▮ nohup

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 목록이 나오므로 선택하면 됨

 

4. 그런 뒤 원하는 폴더를 열어주기만 하면 끝

 

 

▮ 절대경로

  • os.path.join을 통해 절대경로를 사용하자
728x90
Contents