맨위로가기

백그라운드 프로세스

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

백그라운드 프로세스는 운영 체제에서 사용자의 직접적인 상호 작용 없이 실행되는 컴퓨터 프로세스를 의미한다. 윈도우 서비스는 윈도우 NT 계열 운영 체제에서 백그라운드 프로세스로, 서비스 제어 관리자의 규칙을 준수하며 운영 체제 시작, 수동 실행, 또는 이벤트에 의해 시작될 수 있다. 유닉스 계열 운영 체제에서는 데몬이 백그라운드 프로세스로 사용되며, 특정 이벤트 발생을 기다리거나 최소한의 자원만을 사용하며 백그라운드에서 실행된다. 스마트폰 운영 체제는 백그라운드 프로세스를 지원하지만, 하드웨어 제한으로 인해 CPU 사용량이나 기능에 제한이 있으며, 메모리 사용량이 과도할 경우 강제 종료될 수 있다.

더 읽어볼만한 페이지

  • 프로세스 - 문맥 교환
    문맥 교환은 운영 체제에서 CPU가 여러 프로세스나 스레드를 번갈아 실행하기 위해 현재 작업 상태를 저장하고 다른 작업 상태를 복원하는 과정으로, 멀티태스킹 환경에서 필수적인 기술이며 프로세스 제어 블록을 통해 관리된다.
  • 프로세스 - 데몬 (컴퓨팅)
    데몬은 운영 체제에서 사용자와 상호 작용 없이 백그라운드에서 실행되며 시스템의 다양한 작업을 처리하는 프로세스이다.
백그라운드 프로세스
정보
이름백그라운드 프로세스
설명사용자의 직접적인 제어 없이 컴퓨터 시스템에서 실행되는 프로세스
특징
실행사용자가 직접 상호 작용하지 않음
시스템 자원을 효율적으로 관리
목적시스템 유지 관리
로그 기록
네트워크 서비스 제공
예약된 작업 실행
사용자 인터페이스일반적으로 사용자 인터페이스가 없음
운영체제 지원
유닉스 계열데몬 (daemon)
윈도우서비스 (service)
예시
유닉스 계열웹 서버 (아파치, nginx)
데이터베이스 서버 (MySQL, PostgreSQL)
메일 서버 (Sendmail, Postfix)
프린트 서버 (CUPS)
윈도우윈도우 업데이트 서비스
윈도우 방화벽 서비스
인쇄 스풀러 서비스
원격 데스크톱 서비스
프로그래밍
구현백그라운드 프로세스를 생성하고 관리하기 위한 API 제공
특정 조건에서 자동으로 실행되도록 설정 가능
고려 사항시스템 자원 사용량 최소화
보안 문제 예방
오류 처리 및 로깅
활용
장점사용자의 작업 흐름에 방해를 주지 않음
시스템의 효율성 향상
자동화된 작업 수행
단점과도한 백그라운드 프로세스는 시스템 성능 저하를 유발할 수 있음
보안 취약점을 통해 악성코드 감염 위험 증가

2. 윈도우 서비스

윈도우 NT 계열 운영 체제에서 사용되는 백그라운드 프로세스의 일종이다.[17] 윈도우 서비스는 서비스 제어 관리자의 인터페이스 규칙과 규약을 준수해야 한다.[18]

윈도우 서비스는 운영 체제가 시작될 때, 수동으로, 또는 특정 이벤트에 의해 시작되도록 설정할 수 있다. 윈도우 서비스의 특징 및 관리 도구에 대한 자세한 내용은 해당 하위 문서를 참고하면 된다.

2. 1. 윈도우 서비스의 특징

윈도우 NT 계열 운영 체제에서 윈도우 서비스는 전용 백그라운드 프로세스이다.[17] 윈도우 서비스는 윈도우 서비스를 관리하는 구성 요소인 서비스 제어 관리자의 인터페이스 규칙과 규약을 준수하여야 한다.[18]

윈도우 서비스는 운영 체제가 시작될 때, 수동으로, 또는 이벤트에 의해 시작되도록 구성할 수 있다. 윈도우 NT 운영 체제는 `System`, Network ServiceLocal Service 세 가지 사용자 계정의 컨텍스트에서 실행되는 수많은 서비스를 포함한다. 이러한 윈도우 구성 요소는 종종 Windows 서비스용 호스트 프로세스인 svchost.exe와 관련이 있다. 윈도우 서비스는 자체 전용 사용자 계정의 컨텍스트에서 작동하므로 사용자가 로그인하지 않은 상태에서도 작동할 수 있다.

윈도우 비스타 이전에는 "대화형 서비스"로 설치된 서비스가 윈도우 데스크톱과 상호 작용하고 그래픽 사용자 인터페이스를 표시할 수 있었다. 그러나 윈도우 비스타에서는 Windows 서비스 강화의 결과로 대화형 서비스가 사용 중단되었고 제대로 작동하지 않게 되었다.[7][8]

2. 2. 윈도우 서비스 관리 도구

마이크로소프트 관리 콘솔용 서비스 스냅인, sc.exe, 윈도우 파워셸을 통해 윈도우 서비스를 관리할 수 있다.[17]

3. 데몬 (유닉스 계열)

데몬유닉스 계열 운영 체제에서 사용되는 백그라운드 프로세스의 일종이다. 데몬은 특정 이벤트 발생이나 조건 충족을 대기하며,[19] 일반적으로 최소한의 시스템 리소스를 사용하고 사용자 입력을 거의 필요로 하지 않는 작업을 수행한다. 데몬은 `daemon` 함수를 사용하여 실행될 때 부모 터미널로부터 분리된다.[20]

3. 1. 데몬의 특징

데몬은 백그라운드에서 지속적으로 실행되도록 설계된 백그라운드 프로세스의 한 유형으로, 특정 이벤트가 발생하거나 조건이 충족되기를 기다린다.[9] 이러한 프로세스들은 일반적으로 최소한의 시스템 리소스를 사용하며 사용자로부터의 입력을 거의 필요로 하지 않는 작업들을 수행한다. `daemon` 함수를 사용하여 실행될 때 데몬은 부모 터미널로부터 분리된다.[10]

3. 2. 유닉스 환경에서의 백그라운드 작업

유닉스 명령줄에서 백그라운드 프로세스는 "&" 연산자를 사용하여 시작할 수 있다. `bg` 명령어는 정지된 작업을 재개하여(SIGCONT를 전송) 백그라운드에서 실행할 수 있다. `fg` 명령어를 사용하면 표준 입력을 부모 터미널에 다시 연결하여 포그라운드로 가져올 수도 있다. `jobs` 명령어는 현재 터미널과 관련된 모든 프로세스를 나열하고 백그라운드 프로세스를 포그라운드로 가져오는 데 사용할 수 있다.[4][11]

로그인 세션이 로그아웃 또는 네트워크 연결 해제로 종료되면, 백그라운드 프로세스를 포함한 모든 프로세스는 기본적으로 종료된다. 이는 고아 프로세스가 되는 것을 방지하기 위함이다. 사용자가 시작 셸 프로세스를 종료하면, 종료 과정에서 모든 작업에 ''hangup'' 신호(SIGHUP)를 보내 해당 프로세스 그룹의 모든 프로세스를 종료한다.

프로세스가 계속 실행되도록 하려면 세션을 종료하지 않거나, 프로세스를 종료하지 않고 세션을 종료해야 한다. 터미널 멀티플렉서를 사용하면 세션을 계속 실행하면서 가상 터미널을 분리하여 프로세스가 세션의 자식 프로세스로 실행되도록 할 수 있다. 사용자는 나중에 세션을 다시 연결할 수 있다. 또는, nohup 명령어를 사용하여 프로세스를 시작하거나(SIGHUP을 무시하도록 프로세스에 지시), 작업 ID와 함께 `disown` 명령어를 실행하여 종료를 방지할 수 있다. `disown` 명령어는 작업 목록에서 작업을 완전히 제거하거나 SIGHUP 신호가 전송되지 않도록 한다. 후자의 경우 세션이 종료되어도 자식 프로세스는 SIGHUP 신호를 받지 않거나 무시하므로 종료되지 않고 고아 프로세스가 된다. 이 고아 프로세스는 init 프로세스(커널은 init 프로세스를 부모로 설정)에 의해 채택되어 세션 없이 계속 실행되며, ''데몬''이라고 불린다.[12]

4. 스마트폰에서의 백그라운드 프로세스

최신 스마트폰 운영 체제인 안드로이드와 iOS는 백그라운드 프로세스 실행 기능을 제공한다.[13][3] 그러나 하드웨어 제한으로 인해 모바일 운영 체제에서 백그라운드 프로세스는 특정 작업이나 소비 수준으로 제한되며, 메모리를 과도하게 사용하면 시스템에 의해 강제 종료될 수 있다.[3][13]

4. 1. 모바일 운영 체제의 제한 사항

최신 버전의 스마트폰과 PDA 운영체제는 백그라운드 프로세스를 시작하는 기능을 포함하고 있다. 하드웨어의 제한으로 인해 모바일 운영체제의 백그라운드 프로세스는 특정 작업이나 소비 수준으로 제한되는 경우가 많다. 안드로이드에서는 백그라운드 프로세스의 CPU 사용량이 5~10%로 제한될 수 있다.[13] 애플의 iOS에서는 백그라운드에서 실행되는 애플리케이션이 기능의 일부로 제한된다.[3] iOS와 안드로이드 모두에서, 백그라운드 프로세스는 메모리를 과도하게 사용하는 경우 시스템에 의해 강제 종료될 수 있다.[3][13]

참조

[1] 웹사이트 What is an Operating System?, Processes http://www.linux-tut[...] The Linux Tutorial 2010-11-14
[2] 서적 Oracle Database Concepts, 10g Release 1 http://www.stanford.[...] Oracle Corporation 2010-11-12
[3] 웹사이트 How Multitasking Works in the New iPhone OS 4.0 https://gizmodo.com/[...] Gizmodo 2010-11-14
[4] 서적 GNU Bash Reference Manual, Edition 4.1, Job Control Basics https://www.gnu.org/[...] Free Software Foundation, Inc 2010-11-10
[5] 웹사이트 Services overview https://technet.micr[...] Microsoft 2013-03-29
[6] 웹사이트 Services http://msdn2.microso[...] Microsoft 2013-03-29
[7] 웹사이트 New Elevation PowerToys for Windows Vista https://technet.micr[...] Microsoft 2008-06
[8] 웹사이트 Services in Windows http://msdn.microsof[...] Microsoft 2010-10-18
[9] 서적 The Jargon File, version 4.4.8, "daemon" http://catb.org/~esr[...] 2010-11-10
[10] 서적 Linux User's Manual, "daemon" http://libslack.org/[...] 2010-11-10
[11] 웹사이트 Background Processes in Unix/Linux http://www.astro.ku.[...] 2010-11-10
[12] 웹사이트 POSIX "ps" http://pubs.opengrou[...]
[13] 웹사이트 Giz Explains: How Multitasking Works on a Phone https://gizmodo.com/[...] Gizmodo 2010-11-14
[14] 웹인용 What is an Operating System?, Processes http://www.linux-tut[...] The Linux Tutorial 2010-11-14
[15] 서적 Oracle Database Concepts, 10g Release 1 http://www.stanford.[...] Oracle Corporation 2010-11-12
[16] 웹인용 How Multitasking Works in the New iPhone OS 4.0 http://gizmodo.com/5[...] Gizmodo 2010-11-14
[17] 웹인용 Services overview http://technet.micro[...] Microsoft 2013-03-29
[18] 웹인용 Services http://msdn2.microso[...] Microsoft 2013-03-29
[19] 서적 The Jargon File, version 4.4.8, "daemon" http://catb.org/~esr[...] 2010-11-10
[20] 서적 Linux User's Manual, "daemon" http://libslack.org/[...] 2010-11-10



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com