반응형
명령을 백그라운드에서 실행하려면
inux에서 명령을 백그라운드에서 실행하려면 명령 끝에 &
를 추가하면 됩니다. 이렇게 하면 해당 명령은 즉시 백그라운드로 보내져 사용자가 새로운 명령을 입력할 수 있는 셸 프롬프트로 바로 돌아올 수 있습니다.
백그라운드 실행 기본 예제
다음은 간단한 sleep
명령을 60초 동안 백그라운드에서 실행하는 예제입니다:
sleep 60 &
이 명령은 sleep
을 백그라운드로 보내고, 작업 ID와 프로세스 ID가 출력됩니다.
작업 관리
백그라운드 작업을 관리하기 위해 몇 가지 유용한 명령이 있습니다:
jobs
: 현재 셸 세션에서 실행 중인 모든 백그라운드 작업을 보여줍니다.fg
: 가장 최근의 백그라운드 작업을 포그라운드로 가져옵니다.fg %작업번호
: 특정 작업을 포그라운드로 가져옵니다.bg
: 작업을 백그라운드로 보내면서 계속 실행하게 합니다.kill %작업번호
: 특정 백그라운드 작업을 종료합니다.
백그라운드에서 복잡한 명령 실행
복잡한 명령이나 스크립트를 백그라운드에서 실행할 때는 명령 전체를 괄호로 묶고 &
를 추가할 수 있습니다:
(명령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
명령을 사용하여 세션이 종료된 후에도 명령이 계속 실행되도록 합니다.
백그라운드에서 명령을 실행하면 시스템 리소스를 효율적으로 활용하고 셸 프롬프트의 즉각적인 사용을 가능하게 하여 작업의 생산성을 높일 수 있습니다.
반응형
'Linuxpia > 리눅스 사용 팁' 카테고리의 다른 글
글도 정렬할 수 있는 sort (40) | 2024.05.09 |
---|---|
[리눅스 팁] 백그라운드 job의 입력과 출력 (44) | 2024.05.06 |
xargs 를 이용한 명령어 사용법 (67) | 2024.04.30 |
SSH (Secure Shell)를 사용하여 원격 서버에서 문자열을 명령으로 실행 (67) | 2024.04.29 |
Bash에서 문자열을 파이핑하여 명령을 실행 (78) | 2024.04.28 |