Linuxpia/리눅스 사용 팁

[리눅스 팁] 명령을 백그라운드에서 실행하려면

Linuxpia4U 2024. 5. 1. 03:27
반응형

명령을 백그라운드에서 실행하려면

inux에서 명령을 백그라운드에서 실행하려면 명령 끝에 &를 추가하면 됩니다. 이렇게 하면 해당 명령은 즉시 백그라운드로 보내져 사용자가 새로운 명령을 입력할 수 있는 셸 프롬프트로 바로 돌아올 수 있습니다.

백그라운드 실행 기본 예제

다음은 간단한 sleep 명령을 60초 동안 백그라운드에서 실행하는 예제입니다:

sleep 60 &

이 명령은 sleep을 백그라운드로 보내고, 작업 ID와 프로세스 ID가 출력됩니다.

caption: 백그라운드에서 명령 실행

작업 관리

백그라운드 작업을 관리하기 위해 몇 가지 유용한 명령이 있습니다:

  • jobs: 현재 셸 세션에서 실행 중인 모든 백그라운드 작업을 보여줍니다.
  • fg: 가장 최근의 백그라운드 작업을 포그라운드로 가져옵니다.
  • fg %작업번호: 특정 작업을 포그라운드로 가져옵니다.
  • bg: 작업을 백그라운드로 보내면서 계속 실행하게 합니다.
  • kill %작업번호: 특정 백그라운드 작업을 종료합니다.

caption: 작업 관리 방법 중 jobs

백그라운드에서 복잡한 명령 실행

복잡한 명령이나 스크립트를 백그라운드에서 실행할 때는 명령 전체를 괄호로 묶고 &를 추가할 수 있습니다:

(명령1; 명령2; 명령3) &

예를 들어, 디렉터리의 내용을 리스트하고, 결과를 파일에 기록한 후에 다른 작업을 수행하는 명령의 시퀀스를 백그라운드로 실행하려면 다음과 같이 할 수 있습니다:

(cd /path/to/directory && ls -l && echo "Listing complete") > output.txt &

nohup 사용하기

세션이 종료되어도 명령이 계속 실행되길 원한다면, nohup 명령과 함께 사용할 수 있습니다. 이는 SIGHUP 신호를 무시하게 하여 로그아웃 후에도 명령이 계속 실행되도록 합니다:

nohup 명령 &> output.log &

이 명령은 nohup을 사용하여 명령을 실행하고, 모든 출력을 output.log 파일로 리다이렉트 합니다. 또한 &를 통해 백그라운드에서 실행합니다.

정리

  • 백그라운드 실행: 명령 끝에 &를 추가하여 백그라운드에서 명령을 실행합니다.
  • 작업 관리: jobs, fg, bg, kill 명령을 사용하여 백그라운드 작업을 관리합니다.
  • 복잡한 명령 실행: 여러 명령을 괄호로 묶고 &를 추가하여 백그라운드에서 실행합니다.
  • 지속 실행: nohup 명령을 사용하여 세션이 종료된 후에도 명령이 계속 실행되도록 합니다.

백그라운드에서 명령을 실행하면 시스템 리소스를 효율적으로 활용하고 셸 프롬프트의 즉각적인 사용을 가능하게 하여 작업의 생산성을 높일 수 있습니다.

반응형