본문 바로가기
Linux

[Linux] nohup & Log 파일명 변경 생성

by 오늘은강박사갈거야~~ 2022. 4. 24.
반응형

- 이 글은 제가 공부를 하며, 이해한 것을 바탕으로 작성하는 글입니다.

- 그렇기에 틀리거나 잘못된 부분이 있을 수 있습니다.

- 글의 오류를 발견하시면, 댓글로 말씀해 주시면 정말 감사하겠습니다.


 

[0] 내용 설명

 

nohup은 no hang up의 약자로, 그냥 직역하면 끊지 말아라~라는 뜻이다. 

즉, 내가 지금 운영체제를 사용하는 세션을 종료하더라도, 내가 실행하는 것을 데몬의 형태로 실행하여 종료하지 않고 계속 실행이 이어질 수 있게 처리하는 것이다.

 

보통은 백그라운드 실행인 &과 같이 사용한다. 이것은 작업을 사용자 눈에 보이지 않게 백그라운드로 실행한다는 명령어이다. 

 

그래서 nohup 과 &을 같이 동시에 사용하면, 내가 운영체제를 사용하는 세션이 종료되더라도, 백그라운드로 실행된다.

[1] 사용법

 

1. 기본 

nohup python test.py &

- 위와 같이 실행시키면,  내가 실행시킨 작업의 프로세스 이름이 나오게 된다. ->  [3] 13847

또한 실행시킨 파일이 존재하는 위치에 nohup.out라는 파일이 생성되는데 이는 log file이다. 

 

2. 로그 파일의 이름 변경하기

- 여러 개의 파일을 nohup으로 실행시키다 보면 생기는 문제가 존재한다. 기본 세팅된 log file명인 nohup.out이라는 파일로 nohup으로 실행시킨 파일들의 로그들이 쌓이기 때문이다. 그럴 때, 작업마다 로그 파일의 이름을 지정해 줄 수 있다. 

nohup python test.py > log_file.log 2>&1 &

 

3. 프로세스 확인

- 현재 nohup + & 으로 실행시켜놓은 작업들이 제대로 실행되고 있는지 확인해야 한다. 물론 오류가 생성되어 작업이 종료되면 생성된 로그파일에 오류 내용이 확인되겠지만,

다른 방법도 소개한다. top, htop 명령어 이다. 이는 실시간 모니터링 툴이다.(htop은 top의 업그레이드 버전)

top은 내장되어있지만, htop은 내장되어있지 않은 경우가 존재하여, 확인하고 사용하는 게 좋다.  

 

htop 설치는 다음과 같다. 

 

- 우분투

sudo apt-get install htop

- CENT OS 

sudo yum install htop

 

- 들어가서 내 작업의 프로세스 아이디를 가지고 PID에서 찾아 작업을 확인하면 된다.

 

HTOP 종료시에는 q나 F10을 누르면 된다. 

반응형

'Linux' 카테고리의 다른 글

[Linux] Ubuntu에서 RPM 파일 설치  (0) 2022.02.19
[Linux] 파일 개수 & 폴더(디렉터리) 개수  (0) 2021.03.20

댓글