멀티 태스킹 : 백그라운드 프로세스 및 포어 그라운드 프로세스

멀티 태스킹 운영체제 인 Linux 는 포 그라운드에서 계속 작업하면서 백그라운드에서 기본적으로 프로그램이나 명령 또는 유사한 작업과 같은 많은 프로세스의 실행을 지원합니다.

포어 그라운드 프로세스

포 그라운드 프로세스 는 직접 실행하고 완료 될 때까지 기다리는 명령 또는 타스크입니다. 일부 포 그라운드 프로세스는 진행중인 사용자 상호 작용을 지원하는 일부 유형의 사용자 인터페이스를 보여 주지만 다른 작업은 작업을 실행하고 해당 작업을 완료하는 동안 컴퓨터를 "고정"합니다.

셸에서 프롬프트에서 명령을 입력하여 포 그라운드 프로세스를 시작합니다. 예를 들어 활성 디렉토리에있는 파일의 간단한 목록을 보려면 다음과 같이 입력하십시오.

$ ls

파일 목록이 나타납니다. 컴퓨터가 해당 목록을 준비하고 인쇄하는 동안 명령 프롬프트에서 다른 작업을 수행 할 수 없습니다.

백그라운드 프로세스

포어 그라운드 프로세스와 달리 백그라운드 프로세스 가 끝나기를 기다리지 않아도 더 많은 프로세스를 실행할 수 있습니다. 사용 가능한 메모리 양의 한계 내에서 많은 배경 명령을 차례로 입력 할 수 있습니다. 명령을 백그라운드 프로세스로 실행하려면 명령을 입력하고 명령의 끝에 공백과 앰퍼샌드를 추가하십시오. 예 :

$ command1 &

종결되는 앰퍼샌드를 사용하여 명령을 실행하면 셸에서 작업을 실행하지만 명령이 끝날 때까지 기다리지 않고 즉시 셸로 돌아가고 셸 프롬프트 (% for C 쉘 및 Bourne 쉘과 Korn 쉘의 경우 $). 이 시점에서 전경 또는 백그라운드 프로세스에 대해 다른 명령을 입력 할 수 있습니다. 백그라운드 작업은 포 그라운드 작업보다 낮은 우선 순위로 실행됩니다.

백그라운드 프로세스가 끝나면 화면에 메시지가 표시됩니다.

프로세스 간 전환

전경 프로세스가 너무 많은 시간이 걸리면 CTRL + Z를 눌러 중지하십시오. 중지 된 작업은 계속 존재하지만 실행이 일시 중단되었습니다. 작업을 다시 시작하려면 백그라운드에서 bg 를 입력하여 중지 된 작업을 백그라운드 실행으로 보내십시오.

포 그라운드에서 일시 중단 된 프로세스를 다시 시작하려면 fg를 입력하면 해당 프로세스가 활성 세션을 인계합니다.

일시 중단 된 모든 프로세스의 목록을 보려면 jobs 명령을 사용하거나 top 명령을 사용하여 CPU를 많이 사용하는 작업 의 목록을 표시하여 일시 중단하거나 중지하여 시스템 자원을 비울 수 있습니다.

쉘 대 GUI

멀티 태스킹은 에서 작업하든 그래픽 사용자 인터페이스 에서 작업 하느냐에 따라 다르게 작동합니다. 셸의 Linux는 가상 터미널 당 하나의 활성 포 그라운드 프로세스 만 지원합니다. 그러나 사용자의 실용적인 관점에서 윈도우 환경 (예 : 텍스트 기반 쉘이 아닌 데스크탑이있는 Linux)은 여러 개의 동시 포 그라운드 프로세스로 효과적으로 작동하는 여러 개의 활성 창을 지원합니다. 실제로 현장의 리눅스는 시스템 안정성을 향상시키고 최종 사용자 프로세싱을 지원하기 위해 GUI의 프로세스 우선 순위를 조정합니다.