다음 명령이 시스템을 종료하는 이유는 무엇입니까?

다음 명령이 시스템을 종료하는 이유는 무엇입니까?

Bash에서 실행되는 아래 코드를 이해할 수 있는 사람이 있나요?

:(){ :|:& };:

fork이것은 Linux에서 "폭탄" 인 것 같습니다 .

답변1

사실 깨는 것은 어렵지 않습니다.

:이 코드는 단순히 파이프라인에서 자신의 두 인스턴스를 호출하는 함수를 정의합니다 :|:&. 일단 정의되면 함수의 인스턴스가 시작됩니다.

이로 인해 서브쉘 프로세스 수가 급격히 증가합니다. 보호되지 않은 시스템(사용자당 프로세스 수에 제한이 없는 시스템)은 합법적인 프로세스 수가 빠르게 초과되어 대부분의 CPU 리소스가 박탈되므로 포크 폭탄으로 인해 심각한 영향을 받습니다.

관련 정보