7.4 프로세스를 제어해 명령 실행하기

지금까지 소개했던 방법은 모두 명령이 끝날 때까지 부모 셸을 점유하고 진행됐다. 부모 셸과 조금 떨어져 명령을 실행하는 방법을 몇 가지 소개하겠다.

 

백그라운드 명령

프롬프트로 즉시 돌아오며, 명령은 눈에 보이지 않는 곳에서 실행된다.

 

명시적 하위 셸

복합 명령 도중에 실행된다.

 

프로세스 교체

부모 셸을 대체해 명령을 실행한다.

 

 

7.4.1 아홉 번째 방법: 백그라운드 실행하기

지금까지 명령을 실행할 때는 명령 실행이 완료될 때까지 기다려야 다음 프롬프트가 출력됐다. 하지만 명령 실행이 끝날 때까지 기다리지 않는 방법이 있다. 실행이 오래 걸리는 명령이라면 특히 도움이 될 것이다. 명령을 실행하자마자 바로 다음 프롬프트가 나타나지만 우리 눈에 보이지 않는 곳에서 명령이 수행되는 특별한 실행 방식이 있다. 이러한 방법을 백그라운드(background) 실행이라고 한다. 반대로 셸을 점유한 채 실행되는 방식을 포어그라운드(foreground) 실행이라고 한다. 셸은 동시에 하나의 포어그라운드 명령과 여러 개의 백그라운드 명령을 실행할 수 있다.

 

명령을 백그라운드로 실행하기

백그라운드로 명령을 실행하려면 명령 뒤에 앰퍼샌드(&) 기호를 붙이면 된다. 그러면 실행한 명령이 백그라운드로 실행된다는 의미의 암호 같은 메시지와 함께 곧바로 다음 프롬프트가 출력된다.

$ wc -c my_extremely_huge_file.txt & # 용량이 큰 파일의 글자 수 세기 [1] 74931 ...

Get 효율적인 리눅스 명령어 사용의 기술 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.