리눅스에서 작업을 백그라운드에서 실행하는 것은 시스템 관리 및 멀티태스킹 작업을 수행할 때 매우 유용합니다. 백그라운드에서 작업을 실행하면, 터미널을 차지하지 않고 다른 명령어를 입력하거나 작업을 계속할 수 있습니다.
1. & 사용하기
명령어 끝에 &를 붙여서 실행하면, 해당 명령어는 바로 백그라운드로 이동합니다.
$ long_running_process &
이 방법은 명령어를 시작할 때 바로 백그라운드로 보내고 싶을 때 유용합니다.
2. ctrl + z와 bg 사용하기
명령어를 이미 실행했지만 백그라운드로 보내고 싶을 때는 다음과 같이 할 수 있습니다.
* 명령어 실행
* 실행 중인 명령어를 일시 정지하기 위해 ctrl + z를 누릅니다.
* bg 명령어를 입력하여 일시 정지된 작업을 백그라운드에서 계속 실행합니다.
$ long_running_process
^Z
[1]+ Stopped long_running_process
$ bg
[1]+ long_running_process &
3. nohup 사용하기
nohup은 "No Hang Up"의 약자로, 터미널이 닫히거나 사용자가 로그아웃해도 명령어가 계속 실행되도록 합니다. nohup은 주로 로그아웃 후에도 계속 실행되어야 하는 프로세스에 사용됩니다. 실행 결과는 기본적으로 nohup.out 파일에 저장됩니다.
$ nohup long_running_process &
4. jobs, fg, bg 명령어로 작업 관리하기
* jobs: 현재 세션에서 실행 중이거나 중지된 작업의 목록을 보여줍니다.
* fg %작업번호: 지정된 번호의 작업을 백그라운드에서 포그라운드로 이동합니다.
* bg %작업번호: 지정된 번호의 작업을 백그라운드에서 계속 실행하도록 합니다.
$ jobs
[1]- Running long_running_process &
[2]+ Stopped another_process
$ fg %2
another_process
리눅스에서 백그라운드 명령어를 활용하면 여러 작업을 동시에 관리하며 효율적으로 시스템을 운영할 수 있습니다.
'웹개발 > 서버운영체제 및 명령어' 카테고리의 다른 글
리눅스 주요 폴더 별 설명 (0) | 2024.04.05 |
---|---|
[리눅스]chroot (0) | 2024.03.30 |
웹사이트 자동 배포하는 쉘 스크립트 예제 (0) | 2024.03.17 |
shell script 기본작성 및 실행 예제 (0) | 2024.03.17 |
shell 서버 로그 확인 명령어 (0) | 2024.03.13 |