[CentOS] nohup 사용 방법DevOps/Linux2022. 9. 29. 22:04
Table of Contents
반응형
리눅스 환경에서 nohup 사용 방법에 대해 알아보겠습니다.
nohup
- nohup 은 No Hang Ups의 약자로 백그라운드로 지속적으로 실행하는 프로세스를 의미합니다.
- nohup 은 실행을 현재 사용자 세션이 아닌 운영체제가 제공하는 백그라운드 공간에서 실행을 한다.
- & 는 사용자 세션에서 실행되며, 화면 출력만 백그라운드로 전환한 상태입니다. 즉 & 로 실행된 프로세스는 사용자 세션이 로그아웃되는 시점에 같이 종료되는 것입니다.
- 애플리케이션 실행할 때 터미널을 종료해도 애플리케이션은 계속 구동될 수 있도록
nohup
명령어를 사용합니다.
실행
기본 실행
nohup
명령어를 사용하여 실행합니다.
nohup 으로 실행시킬 파일은 반드시 755 퍼미션을 가지고 있어야 합니다.
$ nohup [실행파일명]
예시입니다.
$ nohup ./run.sh
실행을 하면 "nohup: ignoring input and appending output to 'nohup.out'" 메세지와 함께 해당 프로그램의 nohup을 실행시킨 경로에 nohup.out
파일이 생성되고 표준출력 내용이 출력됩니다.
백그라운드 실행
&
명령어를 맨 끝에 불여서 사용하면 백그라운드로 실행됩니다.
$ nohup [실행파일명] &
예시입니다.
$ nohup ./run.sh &
파일 저장
표준출력과 표준에러 같은 파일 저장
2>&1
을 추가하면 표준 출력(1)과 표준 에러(2)를 한 파일에 저장됩니다.
$ nohup [실행파일명] 2>&1
예시입니다.
$ nohup ./run.sh 2>&1
표준출력과 표준에러 다른 파일 저장
표준 출력(1)은 run_output.out 파일로 저장하고, 표준 에러(2)는 run_output.err 파일로 저장됩니다.
$ nohup ./run.sh 1 > run_output.out 2 > run_output.err
표준출력 다른 위치에 저장
표준 출력을 nohup.out 이 아닌 다른 이름의 파일이나 다른 위치에 저장하려면 다 명령어를 사용합니다.
$ nohup [실행파일명] > [파일위치]
예시입니다.
$ nohup ./run.sh > /data/run_output.out
표준출력 남지기 않도록
표준 출력을 별도로 남기고 싶지 않다면 /dev/null
를 추가합니다.
$ nohup [실행파일명] > /dev/null
예시입니다.
$ nohup ./run.sh > /dev/null
실행 프로세스 확인
백그라운드 실행의 경우 다 명령어를 통해 실행 중인 프로세스 상태를 확인할 수 있습니다.
$ ps -ef | grep run.sh
프로세스 종료
백그라운드로 실행 중인 프로세스를 종료하는 방법입니다. 먼저 프로세스 아이디를 찾고 종료를 합니다.
$ ps -ef | grep run.sh
프로세스 아이디를 입력하여 종료합니다.
$ kill -9 [프로세스 아이디]
여기까지 nohup 사용법에 대해 알아보았습니다.
반응형
'DevOps > Linux' 카테고리의 다른 글
[CentOS] alias 등록 방법 (0) | 2022.10.14 |
---|---|
[CentOS] Tomcat 다중 설치 및 운영 방법 (0) | 2022.10.14 |
[CentOS] Hostname 변경 방법 (0) | 2022.09.29 |
[CentOS] 타임존 변경 (0) | 2022.09.29 |
[CentOS] Java 8 설치 및 환경변수 설정 방법 (0) | 2022.09.29 |
@고지니어스 :: 규니의 개발 블로그
IT 기술과 개발 내용을 포스팅하는 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!