59doit

Linux 프로세스 관리 nohup 본문

Linux

Linux 프로세스 관리 nohup

yul_S2 2023. 3. 3. 00:40
반응형

|  nohup 세션이 끊겨도 계속 실행 

nohup 명령어는 로그아웃 등과 같이 터미널과의 세션 연결이 끊기더라도 프로세스가 계속 동작되도록 해준다.

일반적으로 터미널과의 세션 연결이 끊기게 되면 리눅스에서는 해당 세션에서 실행된 프로세스들에게 HUP(Hang Up,끊다) 시그널을 전달하여 프로세스들이 종료되도록 한다. 이 때, nohup 명령은 “세션이 종료되더라도 계속 실행하게 하고 싶은 프로세스에는 HUP 시그널을 전달하지 않도록(No Hang Up,끊지마) 한다"는 의미이다.

 

 

nohup [command]

 

 

  • 파일압축하기
더보기

zip test.sip ./*

 특정 디렉토리에 모든 파일(./*)를 test.zip으로 압축한다.

 

 

  • 파일 및 디렉토리 압축하기
더보기

zip -r test.zip ./*

 현재 폴더에 여러 하위 폴더가 있는데, 그것도 다 같이 압축하기 위해서는 -r 이라는 옵션을 추가한다.

 

 

 nohup 명령의 표준 출력을 다른 파일에 쓰기 

더보기

nohup ./test.sh > nohup_test.out

 표준 출력을 다른 파일에 쓰기 위에서는 리다이렉션(>, >>)을 사용하면 된다

 

더보기

nohup ./test.sh > /dev/null

 표준 출력을 쓰고 싶지 않을때

 

 

 

 

 

 표준 출력과 에러출력 

  • 0 : 표준 입력
  • 1 : 표준 출력
  • 2 : 표준 에러

 

  • 표준출력과 표준 에러출력을 다른 파일에 쓰기
더보기

nohup ./test.sh 1 > test.out 2 > test.err

 표준 출력(1)은 test.out 파일로 리다이렉션

표준 에러(2)는 test.err 파일로 리다이렉션 하겠다

 

 

  • 표준출력과 표준 에러출력을 같은 파일에 쓰기
더보기

nohup ./test.sh > test.log 2>&1 &

 표준 출력을 test.log에 쓰고, 표준 에러(2)도 표준 출력(1)이 쓰여지는 파일에 리다이렉션 하겠다

 

 

 

 

 

 nohup 명령을 백그라운드로 실행 

더보기

% ./test.sh &

 &를 사용하면 프로그램이 백그라운드로 실행이 되게 된다.

 

더보기

% nohup nohup ./test.sh > /dev/null &

 백그라운드(&) 실행은 실행 시키면 대기 상태가 없지만, 세션 연결이 끊기면 실행한 프로그램도 함께 종료된다. 하지만 nohup 명령을 백그라운드(&)로 같이 실행시키게 되면, 대기 상태도 없고 세션 연결이 끊기더라도 프로세스의 종료 없이 백그라운드로 실행되게 된다.

 

 

명령  Ctrl + C  터미널 종료
[command] 명령이 중단됨 명령이 중단됨
[command]& 명령이 중단되지 않음 명령이 중단됨
nohup [command] 명령이 중단됨 명령이 중단되지 않음
nohup [command] & 명령이 중단되지 않음 명령이 중단되지 않음

 

 

 

프로세스 종료 

먼저 프로세스 PID조회

더보기

ps -ef | grep test.sh

 

 

PID 아이디를 kil 명력으로 종료

더보기

kill 6133

 

반응형

'Linux' 카테고리의 다른 글

Linux 프로세스 관리 uptime  (2) 2023.03.01
Linux 프로세스 관리 top  (3) 2023.02.28
Linux 프로세스 관리 kill  (0) 2023.02.27
Linux 프로세스 관리 ps  (4) 2023.02.26
Linux 네트워크 curl  (0) 2023.02.24
Comments