일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Spring
- kotlin querydsl
- APM
- MySQL
- 티스토리챌린지
- mysql 튜닝
- IntelliJ
- 정보처리기사실기 기출문제
- kotlin spring
- AI
- 정보처리기사 실기 기출문제
- aws
- PETERICA
- CKA
- 오블완
- AWS EKS
- kotlin coroutine
- 정보처리기사 실기
- Elasticsearch
- CloudWatch
- Linux
- 공부
- minikube
- Java
- 기록으로 실력을 쌓자
- CKA 기출문제
- kotlin
- Kubernetes
- Pinpoint
- 코틀린 코루틴의 정석
- Today
- Total
피터의 개발이야기
[Linux] 프로세스 백그라운드 실행방법: &, nohub 본문
ㅁ 들어가며
ㅇ Linux에서 프로그램을 백그라운드로 실행하는 방법에 대해 정리하였다.
ㅁ 백그라운드 실행의 필요성
크롬 브라우저에서 여러 페이지를 보기 위해서는 탭이 필요하다. 탭을 통해 하나씩 페이지를 볼 수 있고, 보지 않는 나머지 페이지는 탭으로 구분되어 백그라운드에서 실행되고 있다. 한 화면에서 여러 작업을 동시에 수행하기 위해 백그라운드 작업은 필요하다.
linux의 커널을 통해 여러 프로세스를 수행하기 위해 백그라운드로 실행할 수 있다. 그러면 한 세션을 통해 여러 작업을 동시에 처리할 수 있게 된다.
ㅁ 기본 백그라운드 실행
command &
ㅇ 프로그램을 백그라운드로 실행하려면 명령어 뒤에 앰퍼샌드(&)를 붙인다.
ㅇ 백그라운드로 실행하면 [백그라운드 카운트] 프로세스 번호가 출력된다.
ㅁ 백그라운드 작업 확인
jobs -l
ㅇ 현재 셸 세션에서 실행 중인 백그라운드 작업을 확인할 수 있다.
ㅁ 백그라운드 프로세스 관리
# 백그라운드 실행
$ sleep 200 &
[1] 10567
# 포그라운드 전환
$ fg %1
[1] + 10567 running sleep 200
# 종료: Ctrl + c를 누른다.
^C
# 백그라운드 실행
$ sleep 200 &
[1] 10629
# 포그라운드 전환
$fg %1
[1] + 10629 running sleep 200
# Ctrl + Z를 누른다.
^Z
[1] + 10629 suspended sleep 200
# 다시 백그라운드 전환
$ bg
[1] + 10629 continued sleep 200
# 백그라운드 종료 시
[1] + 10629 done sleep 200
ㅇ 백그라운드 프로세스를 포그라운드로 가져오기: fg 또는 fg %작업번호
ㅇ 포그라운드에서 다시 백그라운드로 보내기: bg
ㅇ 백그라운드 명령을 실행하고 포그라운드로 다시 전환하였다가 종료 시켰다.
ㅇ 백그라운드 실행 -> 포그라운드 -> 백그라운드로 실행 후 종료되었다.
백그라운드로 실행한 프로세스는 기본적으로 터미널 세션이 종료되면 함께 종료됩니다.
세션 종료 후에도 프로세스를 유지하려면 nohup 명령어를 사용해야 한다.
ㅁ nohup 사용하기
nohup command &
ㅇ nohup은 "No Hang Up"의 약자로, 터미널 세션이 종료되어도 프로세스가 계속 실행된다.
ㅁ nohup의 특징
ㅇ 기본적으로 출력은 nohup.out 파일에 저장된다.
ㅇ 터미널 세션과 독립적으로 실행된다.
ㅇ 프로세스의 표준 입력은 /dev/null로 리다이렉트된다.
ㅁ 로그 관리
ㅇ nohup으로 실행한 프로그램의 출력은 기본적으로 nohup.out 파일에 저장된다.
nohup command > filename.log &
ㅇ 특정 파일에 로그를 저장 방법
nohup command >> filename.log &
ㅇ 로그를 이어서 작성방법
command > /dev/null 2>&1 &
ㅇ 출력을 무시하는 방법
ㅁ 함께 보면 좋은 사이트
'Linux' 카테고리의 다른 글
[Linux] dig 명령어 사용법 총정리 (0) | 2024.10.17 |
---|---|
traceroute 명령어 사용법 (2) | 2024.10.14 |
[Linux] ssh-keygen 명령어를 사용하여 SSH 키를 생성 (0) | 2024.07.31 |
[linux] find 사용법 (0) | 2024.04.13 |
[Linux] tar명령어 사용법, tar 압축 풀기 (0) | 2022.10.01 |