logo

백그라운드-프로세스에-대해-알아보기

Computer Science · 3월 1일 · 15 min read
poster

백그라운드 프로세스는 사용자의 개입 없이 무대 뒤에서(즉, 백그라운드에서) 실행되는 컴퓨터 프로세스를 말한다. 이러한 프로세스의 일반적인 작업에는 로깅, 시스템 모니터링, 스케줄링, , 사용자 알림 등이 있다.

Windows 시스템에서 백그라운드 프로세스는 사용자 인터페이스를 생성하지 않는 컴퓨터 프로그램 또는 Windows 서비스 중 하나이다. 전자는 다른 프로그램이 시작 메뉴에서 실행되는 것과 마찬가지로 시작 메뉴에서 실행된다. 반면, 윈도우 서비스는 서비스 제어 관리자에 의해 시작되며, 윈도우 비스타 이상에서는 별도의 세션에서 실행된다.

유닉스 또는 유닉스 유사 시스템에서 백그라운드 프로세스 또는 작업은 프로세스 그룹 ID가 터미널 그룹 ID(TGID)와 다른 것으로 추가적으로 식별할 수 있다(프로세스의 TGID는 터미널을 연 프로세스 그룹 리더의 프로세스 ID이다. TGID는 프로세스 그룹의 제어 터미널을 식별합니다). 이 유형의 프로세스는 부모 터미널에서 키보드 신호를 수신할 수 없으며 일반적으로 해당 터미널에 출력을 전송하지 않는다. 이 보다 기술적인 정의는 프로세스가 사용자의 개입을 받을 수 있는지 여부를 구분하지 않는다. 백그라운드 프로세스는 일반적으로 리소스를 거의 필요로 하지 않는 목적으로 사용되지만, 어떤 프로세스든 백그라운드에서 실행될 수 있으며, 이러한 프로세스는 위의 예외를 제외하고는 다른 프로세스와 유사하게 동작한다.

윈도우 시스템

Windows NT 계열 운영 체제에서 Windows 서비스는 전용 백그라운드 프로세스이며, Windows 서비스는 Windows 서비스 관리를 담당하는 구성 요소인 서비스 제어 관리자의 인터페이스 규칙과 프로토콜을 준수해야 합니다. 규칙과 프로토콜을 준수해야 한다.

Windows 서비스는 운영체제가 시작될 때 시작되고 Windows가 실행되는 동안 백그라운드에서 실행되도록 설정할 수 있다. Windows NT 운영 체제는 시스템, 네트워크 서비스, 로컬 서비스 등 세 가지 사용자 계정의 컨텍스트에서 실행되는 수많은 서비스를 포함한다. 이러한 Windows 구성 요소는 종종 Windows 서비스의 호스트 프로세스인 svchost.exe와 연관되어 있으며, Windows 서비스는 전용 사용자 계정의 컨텍스트에서 작동하므로 사용자가 로그온하지 않아도 작동할 수 있다. 할 수 있다.

윈도우 비스타 이전에는 '대화형 서비스'로 설치된 서비스는 윈도우 데스크톱과 상호 작용하여 그래픽 사용자 인터페이스를 표시할 수 있었다. 그러나 Windows Vista에서는 Windows Service Hardening의 결과로 대화형 서비스가 비추천되어 정상적으로 동작하지 않게 되었다.

유닉스 시스템

Unix 명령줄에서 "&" 연산자를 사용하여 백그라운드 프로세스를 시작할 수 있으며, bg 명령은 중단된 작업(SIGCONT 전송)을 재개하여 백그라운드에서 실행할 수 있고, fg 명령은 표준 입력을 부모 터미널에 재연결하여 포그라운드로 만들 수 있다. jobs 명령은 현재 터미널과 관련된 모든 프로세스를 나열하고 백그라운드 프로세스를 포 그라운드로 전환하는 데 사용할 수 있다.

명시적 로그아웃 또는 네트워크 연결 끊김으로 로그인 세션이 종료되면 백그라운드 프로세스를 포함한 모든 프로세스는 고아 프로세스가 되는 것을 방지하기 위해 기본적으로 종료된다. 구체적으로, 사용자가 시작 중인 쉘 프로세스를 종료하면 종료의 일환으로 모든 작업에 끊기 신호(SIGHUP)를 보내 해당 프로세스 그룹 내의 모든 프로세스를 종료합니다. 프로세스를 계속 실행하려면 세션을 종료하지 않거나 프로세스를 종료하지 않고 세션을 종료한다. 터미널 멀티플렉서를 사용하면 세션을 실행한 채로 가상 터미널을 분리하고 세션의 자식 프로세스로 실행 중인 프로세스를 남길 수 있다. 또는 종료를 방지하려면 nohup 명령(SIGHUP을 무시하라고 프로세스에 알려주는 명령)으로 프로세스를 시작하거나, 작업 ID를 지정하여 disown을 실행한다. 후자의 경우 세션이 종료되어도 자식 프로세스는 SIGHUP이 전송되지 않거나 SIGHUP을 무시하기 위해 종료되지 않고 오펀 프로세스가 되어 init 프로세스에 의해 채택되어(커널은 init 프로세스를 부모로 설정한다) 세션 없이 계속 실행되며, 데몬 이라고 불리게 된다.

스마트폰의 백그라운드 프로세스 관리

많은 최신 버전의 스마트폰 및 PDA 운영체제는 백그라운드 프로세스를 시작할 수 있는 기능을 포함하고 있다. 하드웨어 제한으로 인해 모바일 OS의 백그라운드 프로세스는 종종 특정 작업 및 소비 수준으로 제한되며, 안드로이드의 경우 백그라운드 프로세스의 CPU 사용량은 5~10%로 제한된다, 백그라운드에서 실행되는 동안 일부 기능으로 제한된다.

관련 포스트
post image
머신 코드
컴퓨터 프로그래밍에서 기계어 명령어로 구성된 컴퓨터 코드를 말하며, 컴퓨터의 중앙처리장치(CPU)를 제어하는 데 사용된다. 과거에는 10진법 컴퓨터가 일반적이었지만, 현대 시장에서는 2진법 컴퓨터가 주류다. 이러한 컴퓨터에서 기계 코드는 '컴퓨터가 실제로 읽고 해석하
Computer Science·12월 26일·22 min read
post image
책 디자인 패턴 후기
디자인 패턴: Elements of Reusable Object-Oriented Software(디자인 패턴: 재사용 가능한 객체지향 소프트웨어의 요소)(1994)는 소프트웨어 디자인 패턴을 설명한 소프트웨어 공학 서적이다. 에리히 감마, 리처드 헬름, 랄프 존슨,
Computer Science·12월 16일·16 min read
post image
브라우저 엔진, blink
블링크는 크롬 프로젝트의 일환으로 개발된 브라우저 엔진으로 애플, 구글, 메타, 마이크로소프트, 오페라 소프트웨어, 비발디 테크놀로지스, 어도비, 인텔, IBM, 삼성 등이 참여하고 있으며, 2013년 4월에 처음 발표되었다. 되었다. # 네이밍 블링크의 네이밍은
Computer Science·9월 14일·13 min read
post image
웹프레임워크란?
웹 프레임워크(WF) 또는 웹 애플리케이션 프레임워크(WAF)는 웹 서비스, 웹 리소스, 웹 API를 포함한 웹 애플리케이션 개발을 지원하도록 설계된 소프트웨어 프레임워크이다. 웹 프레임워크는 월드와이드웹에서 웹 애플리케이션을 구축하고 배포하기 위한 표준적인 방법을
Computer Science·7월 24일·11 min read
post image
nextjs의 탄생배경
Next.js는 민간기업 베르셀(Vercel)이 개발한 오픈소스 웹 개발 프레임워크로, 서버 측 렌더링과 정적 웹사이트 생성 기능을 갖춘 리액트 기반 웹 애플리케이션을 제공한다. 리액트 문서에서는 'Node.js로 서버 렌더링된 웹사이트를 구축할 때' 개발자에게 조
Computer Science·7월 14일·16 min read
post image
알고리즘의 정의
수학 및 컴퓨터 과학에서 알고리즘은 일반적으로 특정 문제 클래스를 해결하거나 계산을 수행하는 데 사용되는 엄격한 명령의 유한한 시퀀스이다. 알고리즘은 계산이나 데이터 처리를 수행하기 위한 사양으로 사용된다. 고급 알고리즘은 조건식을 사용하여 코드 실행을 다양한 경로(
Computer Science·7월 4일·29 min read
post image
운영체제 톺아보기
운영체제(OS)는 컴퓨터의 하드웨어 및 소프트웨어 자원을 관리하고 컴퓨터 프로그램에 공통된 서비스를 제공하는 시스템 소프트웨어이다. 시간 공유 운영 체제는 시스템을 효율적으로 사용하기 위해 작업을 예약하고 프로세서 시간, 대용량 저장 장치, 주변 장치 및 기타 자원
Computer Science·5월 21일·17 min read
post image
프로세스란?
컴퓨팅에서 프로세스는 하나 이상의 스레드에 의해 실행되는 컴퓨터 프로그램의 인스턴스이다. 다양한 프로세스 모델이 존재하며, 일부는 경량화되어 있지만, 거의 모든 프로세스(전체 가상 머신 포함)는 프로그램 코드, 할당된 시스템 자원, 물리적 및 논리적 액세스 권한, 실
Computer Science·2월 16일·26 min read