반응형
이 bash 포크 폭탄은 어떻게 작동 작동? [복제]
이 질문에는 이미 답변이 있습니다.
Wikipedia에 따르면 다음은 매우 우아한 bash 포크 폭탄입니다.
:(){ :|:& };:
어떻게 작동합니까?
세 가지 큰 조각이 있습니다.
:() # Defines a function, ":". It takes no arguments.
{ ... }; # The body of the function.
: # Invoke the function ":" that was just defined.
본문 내에서 함수가 두 번 호출되고 파이프 라인이 백그라운드로 지정됩니다. 프로세스에 대한 각 연속적인 호출은 ":"에 대한 더 많은 호출을 생성합니다. 이로 인해 시스템 리소스가 폭발적으로 소비되어 일이 중단됩니다.
무한 재귀로 한 번 호출하면 충분하지 않을 것입니다. 원래 프로세스에서 스택 오버플로가 발생하기 때문에 지저분하지만 처리 할 수 있습니다.
보다 인간 비활성화 인 버전은 다음과 가변적입니다.
kablammo() { # Declaration
kablammo | kablammo& # The problematic body.
}; kablammo # End function definition; invoke function.
편집 : 아래 의 윌리엄의 의견은 제안한 내용에 대한 더 나은 표현 제안 사항을 통합하도록 편집했습니다.
짧은 답변 :
콜론 ( ":")은 함수가있는 함수에 파이프 된 함수를 실행하고이를 backgroun에 넣습니다. 이는 2 개의 함수 사본이 호출됨을 의미합니다. 재귀가 시작됩니다.
참고 URL : https://stackoverflow.com/questions/991142/how-does-this-bash-fork-bomb-work
반응형
'IT' 카테고리의 다른 글
`: key => "value"`와`key : "value"`해시 표기법 사이에 있습니까? (0) | 2020.07.19 |
---|---|
리베이스 후 지점으로 밀 수 없습니다 (0) | 2020.07.19 |
VB는 대소 문자를 구분하지 않습니다. (0) | 2020.07.19 |
동적으로 log4j 로그 레벨 변경 (0) | 2020.07.19 |
기본 습관을 확장하는 것이 왜 나쁜 습관입니까? (0) | 2020.07.19 |