본문 바로가기
웹개발/서버운영체제 및 명령어

리눅스 백그라운드 명령어

by 지구별 여행자 임탱 2024. 4. 5.
728x90

리눅스에서 작업을 백그라운드에서 실행하는 것은 시스템 관리 및 멀티태스킹 작업을 수행할 때 매우 유용합니다. 백그라운드에서 작업을 실행하면, 터미널을 차지하지 않고 다른 명령어를 입력하거나 작업을 계속할 수 있습니다.

 

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


리눅스에서 백그라운드 명령어를 활용하면 여러 작업을 동시에 관리하며 효율적으로 시스템을 운영할 수 있습니다.