백그라운드 프로세스
Background process백그라운드 프로세스는 백그라운드에서(즉, 백그라운드에서) 사용자 [1]개입 없이 실행되는 컴퓨터 프로세스입니다.이러한 프로세스의 일반적인 작업에는 로깅, 시스템 모니터링, 스케줄링 [2]및 사용자 [3]알림이 포함됩니다.백그라운드 프로세스는 보통 컴퓨팅 태스크를 처리하기 위한 제어 프로세스에 의해 생성되는 하위 프로세스입니다.생성 후에는 하위 프로세스가 자체적으로 실행되어 제어 프로세스와 독립적으로 작업을 수행하므로 해당 [citation needed]작업을 수행하는 제어 프로세스가 해제됩니다.
Windows 시스템에서 백그라운드 프로세스는 사용자 인터페이스를 생성하지 않는 컴퓨터 프로그램 또는 Windows 서비스입니다.예를 들어, 시작 메뉴를 통해 다른 프로그램이 시작되는 것과 마찬가지로 전자가 시작됩니다.반면 Windows 서비스는 Service Control Manager에 의해 시작됩니다.Windows Vista 이후에는 별도의 세션에서 실행됩니다.시스템 서비스 또는 백그라운드프로세스가 시스템리소스를 사용할 수 있는 양에는 제한이 없습니다.실제로 Microsoft 운영 체제의 Windows Server 제품군에서는 백그라운드 프로세스가 시스템 [citation needed]리소스의 주요 소비자가 될 것으로 예상됩니다.
Unix 또는 Unix와 유사한 시스템에서는 백그라운드프로세스 또는 작업을 Terminal Group ID(TGID; 터미널 그룹 ID)와 다른 프로세스 그룹 ID로 식별할 수 있습니다(프로세스의 TGID는 단말기를 연 프로세스 그룹 리더의 프로세스 ID(일반적으로 로그인 셸)입니다.TGID는 프로세스 그룹의 제어 단말기를 식별합니다.)이런 유형의 프로세스는 부모 단말기에서 키보드 신호를 수신할 수 없으며 일반적으로 해당 [4]단말기로 출력을 전송하지 않습니다.이 보다 기술적인 정의에서는 프로세스가 사용자 개입을 받을 수 있는지 여부가 구분되지 않습니다.백그라운드 프로세스는 일반적으로 리소스가 거의 필요하지 않은 목적으로 사용되지만 모든 프로세스를 백그라운드에서 실행할 수 있으며 이러한 프로세스는 [1]위의 예외를 제외하고 다른 프로세스와 동일하게 작동합니다.
Windows 서비스
Windows NT 패밀리 운영체제에서 Windows 서비스는 전용 백그라운드 [5]프로세스입니다.Windows 서비스는 Windows [6]서비스 관리를 담당하는 컴포넌트인 Service Control Manager의 인터페이스 규칙 및 프로토콜을 준수해야 합니다.
운영 체제가 시작될 때 시작하고 윈도우즈가 실행되는 동안 백그라운드에서 실행되도록 윈도우즈 서비스를 구성할 수 있습니다.또는 수동으로 시작하거나 이벤트를 통해 시작할 수 있습니다.Windows NT operating system에는, 다음의 3개의 유저 어카운트의 컨텍스트로 동작하는 수많은 서비스가 포함되어 있습니다.System
,Network Service
그리고.Local Service
. 이러한 Windows 컴포넌트(svchost.exe)는 대부분의 경우 Windows 서비스용 호스트 프로세스와 관련되어 있습니다.Windows 서비스는 전용 사용자 계정의 컨텍스트에서 작동하므로 사용자가 로그온하지 않았을 때 작동할 수 있습니다.
Windows Vista 이전에는, 「인터랙티브 서비스」로서 인스톨 된 서비스가 Windows 데스크탑과 상호 작용해, 그래피컬 유저 인터페이스를 표시할 수 있었습니다.다만, Windows Vista 에서는, Windows Service Hardening(Windows 서비스 강화)[7][8]의 결과, 인터랙티브서비스는 폐지되어 올바르게 동작하지 않게 되었습니다.
Windows 서비스를 관리하기 위한 3가지 주요 방법은 다음과 같습니다.
- Microsoft Management Console용 서비스 스냅인
sc.exe
- Windows PowerShell
데몬
데몬은 백그라운드에서 지속적으로 실행되도록 설계된 백그라운드프로세스의 일종으로 이벤트 또는 조건이 [9]충족되기를 기다립니다.이러한 프로세스에서는 일반적으로 최소한의 시스템리소스를 사용하여 사용자의 입력을 거의 필요로 하지 않는 작업을 수행합니다.데몬 기능을 사용하여 기동하면 데몬은 부모 [10]단말기에서 어소시에이트 해제됩니다.
Unix에서의 기동 및 재개
Unix 명령줄에서 백그라운드프로세스는 & 연산자를 사용하여 실행할 수 있습니다.bg 유틸리티는 일시 중단된 작업(SIGCONT 전송)을 백그라운드에서 다시 시작할 수 있습니다.fg 유틸리티를 사용하면 표준 입력도 다시 연결되어 부모 단말기가 전면에 표시됩니다.작업 유틸리티는 현재 단말기와 관련된 모든 프로세스를 나열하며 백그라운드 프로세스를 [4][11]포그라운드로 가져오는 데 사용할 수 있습니다.
로그인 세션이 종료되면 명시적인 로그아웃 또는 네트워크 절단을 통해 백그라운드프로세스를 포함한 모든 프로세스가 디폴트로 종료되어 분리 프로세스가 되는 것을 방지합니다.구체적으로는 사용자가 부팅 셸 프로세스를 종료하면 셧다운의 일부로 모든 작업에 행업 신호(SIGHUP)를 전송하여 대응하는 프로세스 그룹 내의 모든 프로세스를 종료합니다.프로세스를 계속 실행하려면 세션을 종료할 수 없거나 프로세스를 종료하지 않고 세션을 종료할 수 있습니다.터미널 멀티플렉서를 사용하여 세션을 실행 중인 채로 두고 가상 단말기를 분리하여 프로세스를 세션의 하위 프로세스로 실행한 후 나중에 세션을 재접속할 수 있습니다.또는 nohup 명령어를 사용하여 프로세스를 시작하거나(SHEAPUP을 무시하도록 프로세스를 지시), 이후 작업 ID를 사용하여 실행함으로써 작업을 작업목록에서 완전히 삭제하거나 단순히 SHEAPUP의 송신을 금지함으로써 종료가 방지됩니다.후자의 경우 세션이 종료될 때 하위 프로세스는 SAHUP이 전송되지 않았거나 SAHUP이 무시되었기 때문에 종료되지 않으며, 이는 init 프로세스에 의해 채택되며(커널은 init 프로세스를 부모로 설정), 세션 없이 계속 실행됩니다(지금은 데몬이라고 불립니다).
예
이 예에서는 Unix에서 실행되고 있습니다.sleep 유틸리티가 백그라운드로 기동되어 있습니다.그 후 ps 툴을 포그라운드에서 실행하여 아래 텍스트를 출력합니다.둘 다 [12]포탄에서 발사되었다.
PID TT STAT TIME COMMAND 54659 10 S 0:00.06 su (zsh) 54703 10 IN 0:00 - sleep 1000 54852 10 R + 0:00.00 - ps - U botty - axd
스마트폰
스마트폰과 PDA 운영 체제의 많은 새로운 버전에는 백그라운드 프로세스를 시작할 수 있는 기능이 포함되어 있습니다.하드웨어 제한으로 인해 모바일 운영 체제의 백그라운드 프로세스는 특정 작업 또는 소비 수준으로 제한되는 경우가 많습니다.Android에서 백그라운드 프로세스의 CPU 사용률은 5~10%[13]로 제한됩니다.Apple iOS의 타사 애플리케이션은 [3]백그라운드에서 실행되는 동안 일부 기능으로 제한됩니다.iOS와 Android 모두에서 메모리를 [3][13]너무 많이 사용하면 백그라운드 프로세스가 중단될 수 있습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b "What is an Operating System?, Processes". The Linux Tutorial. Archived from the original on 15 August 2020. Retrieved 14 November 2010.
- ^ Michele Cyran (December 1993). Oracle Database Concepts, 10g Release 1. Oracle Corporation. B10743-01. Retrieved 12 November 2010.
- ^ a b c Jesus Diaz (8 April 2010). "How Multitasking Works in the New iPhone OS 4.0". Gizmodo. Archived from the original on 2 November 2010. Retrieved 14 November 2010.
- ^ a b GNU Bash Reference Manual, Edition 4.1, Job Control Basics. Free Software Foundation, Inc. 23 December 2009. Archived from the original on 3 December 2010. Retrieved 10 November 2010.
- ^ "Services overview". Microsoft TechNet. Microsoft. Retrieved 29 March 2013.
- ^ "Services". Microsoft Developer Network. Microsoft. Retrieved 29 March 2013.
- ^ "New Elevation PowerToys for Windows Vista". TechNet Magazine. Microsoft. June 2008. Retrieved 21 June 2013.
The service CmdAsSystem is configured as interactive whose support is being deprecated. The service may not function properly. The problem is that this script tries to create and start an interactive service. Interactive services will not function correctly due to Session 0 Isolation in Windows Vista.
- ^ "Services in Windows". MSDN. Microsoft. 18 October 2010. Retrieved 21 June 2013.
- ^ Eric S. Raymond (1 October 2004). The Jargon File, version 4.4.8, "daemon". Archived from the original on 3 November 2010. Retrieved 10 November 2010.
- ^ raf (12 June 2010). Linux User's Manual, "daemon". Archived from the original on 21 October 2010. Retrieved 10 November 2010.
- ^ Åke Nordlund (7 February 2007). "Background Processes in Unix/Linux". Archived from the original on 13 February 2012. Retrieved 10 November 2010.
- ^ "POSIX "ps"". IEEE Std 1003.1, 2004 Edition.
- ^ a b Matt Buchanan (2010-04-29). "Giz Explains: How Multitasking Works on a Phone". Gizmodo. Archived from the original on 17 October 2010. Retrieved 14 November 2010.