우리 모두는 프로세스가 어떻게 작동하는지 알고 있습니다. 프로그램을 시작하고 작업을 시작한 다음 작업이 완료되면 프로세스를 중지합니다. 프로세스가 중지되면 프로세스 테이블에서 제거됩니다.
System-Monitor
를 통해 현재 진행상황을 보실 수 있습니다.
그러나 일부 프로그램이 실행된 후에도 프로세스 테이블에 여전히 남아 있는 경우가 있습니다.
그래서 라이프사이클을 완료했지만 여전히 프로세스 테이블에 남아 있는 이러한 프로세스를 "좀비 프로세스"라고 합니다.
어떻게 생산되나요?
프로그램을 실행하면 상위 프로세스와 많은 하위 프로세스가 생성됩니다. 이러한 모든 하위 프로세스는 커널이 할당한 메모리와 CPU 리소스를 소비합니다.
이 하위 프로세스는 실행이 완료된 후 종료 신호를 보낸 다음 종료됩니다. 이 종료 신호는 상위 프로세스에서 읽어야 합니다. 상위 프로세스는 이후에 wait
명령을 호출하여 하위 프로세스의 종료 상태를 읽고 프로세스 테이블에서 하위 프로세스를 제거해야 합니다.
상위 프로세스가 하위 프로세스의 종료 신호를 올바르게 읽으면 하위 프로세스가 프로세스 테이블에서 삭제됩니다.
그러나 상위 프로세스가 하위 프로세스의 종료 신호를 읽지 못하면 하위 프로세스가 실행을 완료하고 데드 상태가 되어도 프로세스 테이블에서 삭제되지 않습니다.
안돼. 좀비 프로세스는 아무 작업도 하지 않고 리소스도 사용하지 않으며 다른 프로세스에 영향을 주지 않으므로 좀비 프로세스가 존재해도 아무런 해가 없습니다. 그러나 프로세스 테이블의 종료 상태 및 기타 프로세스 정보도 메모리에 저장되므로 좀비 프로세스가 너무 많으면 문제가 될 수 있습니다.
다음과 같이 상상할 수 있습니다.
"당신은 건설회사 사장입니다. 일꾼들에게 매일 일한 만큼 월급을 줍니다. 매일 건설현장에 와서 그냥 앉아만 있는 노동자가 있습니다. 당신은 돈을 낼 필요도 없고, 그 사람은 돈을 주지 않습니다. 아무 일도 안 하고 그냥 매일 그 일만 해요. 그냥 거기 와서 앉기만 하면 돼요!”
이 작업자는 좀비 프로세스의 살아있는 예입니다. 하지만 좀비 작업자가 많으면 건설 현장이 혼잡해 일반 작업자가 작업하기 어려울 수 있습니다.
터미널을 열고 다음 명령을 입력하세요.
ps aux | grep Z
프로세스 테이블에는 모든 좀비 프로세스의 세부정보가 나열됩니다.
일반적인 상황에서는 SIGKILL
을 사용할 수 있습니다.
프로세스를 종료하라는 신호를 보냈지만 좀비 프로세스는 이미 종료되었으며 이미 종료된 프로세스를 종료할 수 없습니다. 따라서 입력해야 하는 명령은
이어야 합니다.
kill -s SIGCHLD pid
여기의 pid를 상위 프로세스의 프로세스 ID로 바꾸면 상위 프로세스가 완료되고 죽은 하위 프로세스를 모두 삭제합니다.
다음과 같이 생각할 수 있습니다.
"길 한복판에서 시신을 발견한 경우, 고인의 가족에게 연락하면 그 가족이 시신을 도로에서 가져갈 것입니다."
그러나 많은 프로그램은 잘 작성되지 않아 이러한 어린이 좀비를 삭제할 수 없습니다(그렇지 않으면 애초에 이러한 좀비를 볼 수 없습니다). 따라서 자식 좀비가 삭제되었는지 확인하는 유일한 방법은 부모 프로세스를 종료하는 것입니다.
위 내용은 좀비 프로세스를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

소개 Linux는 유연성과 효율성으로 인해 개발자, 시스템 관리자 및 전원 사용자가 선호하는 강력한 운영 체제입니다. 그러나 길고 복잡한 명령을 자주 사용하는 것은 지루하고 응급실이 될 수 있습니다.

Linux는 서버, 개발 환경 및 임베디드 시스템에 적합합니다. 1. 서버 운영 체제로서 Linux는 안정적이고 효율적이며 종종 고 대전성 애플리케이션을 배포하는 데 사용됩니다. 2. 개발 환경으로서 Linux는 효율적인 명령 줄 도구 및 패키지 관리 시스템을 제공하여 개발 효율성을 향상시킵니다. 3. 임베디드 시스템에서 Linux는 가볍고 사용자 정의 가능하며 자원이 제한된 환경에 적합합니다.

소개 : Linux 기반의 윤리적 해킹으로 디지털 프론티어 보안 점점 더 상호 연결된 세상에서 사이버 보안이 가장 중요합니다. 윤리적 해킹 및 침투 테스트는 취약점을 적극적으로 식별하고 완화하는 데 필수적입니다.

기본 Linux 학습 방법은 다음과 같습니다. 1. 파일 시스템 및 명령 줄 인터페이스 이해, 2. LS, CD, MKDIR, 3. 파일 생성 및 편집과 같은 파일 작업 배우기, 4. 파이프 라인 및 GREP 명령과 같은 고급 사용법, 5. 연습 및 탐색을 통해 지속적으로 기술을 향상시킵니다.

Linux는 서버, 임베디드 시스템 및 데스크탑 환경에서 널리 사용됩니다. 1) 서버 필드에서 Linux는 안정성 및 보안으로 인해 웹 사이트, 데이터베이스 및 응용 프로그램을 호스팅하기에 이상적인 선택이되었습니다. 2) 임베디드 시스템에서 Linux는 높은 사용자 정의 및 효율성으로 인기가 있습니다. 3) 데스크탑 환경에서 Linux는 다양한 사용자의 요구를 충족시키기 위해 다양한 데스크탑 환경을 제공합니다.

Linux의 단점에는 사용자 경험, 소프트웨어 호환성, 하드웨어 지원 및 학습 곡선이 포함됩니다. 1. 사용자 경험은 Windows 또는 MacOS만큼 친절하지 않으며 명령 줄 인터페이스에 의존합니다. 2. 소프트웨어 호환성은 다른 시스템만큼 좋지 않으며 많은 상용 소프트웨어의 기본 버전이 부족합니다. 3. 하드웨어 지원은 Windows만큼 포괄적이지 않으며 드라이버를 수동으로 컴파일 할 수 있습니다. 4. 학습 곡선은 가파르고 명령 줄 운영을 마스터하는 데 시간과 인내가 필요합니다.

LinuxisNothardTolearn, ButtheDifficulturedsonyourbackground 및 Ggoals.forthosewithoSexperience, 특히 Command-linefamiliarity, BeginnersMayFaceAsTeeperLearneLearneCURVEBUTCANMANAGEWITHPROPERSORCES.LINUX'SOURCENATURY, BAS

Linux의 5 가지 기본 구성 요소는 다음과 같습니다. 1. 커널, 하드웨어 리소스 관리; 2. 기능과 서비스를 제공하는 시스템 라이브러리; 3. 쉘, 사용자가 시스템과 상호 작용할 수있는 인터페이스; 4. 파일 시스템, 데이터 저장 및 구성; 5. 시스템 리소스를 사용하여 기능을 구현합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

드림위버 CS6
시각적 웹 개발 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구
