반응형
이 배시포크 폭탄은 어떻게 작동합니까?
위키피디아에 따르면, 다음은 매우 우아한 바시 포크 폭탄입니다.
:(){ :|:& };:
어떻게 작동합니까?
그것을 요약하면, 세 가지 큰 조각이 있습니다.
:() # 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.
편집: 아래 윌리엄의 의견은 위에서 말한 것보다 더 나은 표현이었기 때문에, 저는 그 제안을 통합하기 위해 편집했습니다.
단답:
콜론(":")이 함수가 되므로 함수에 파이프된 함수를 실행하고 이를 백그라운드에 배치하면 함수의 모든 호출에 대해 함수의 2개 복사본이 호출됩니다.재귀가 발생합니다.
언급URL : https://stackoverflow.com/questions/991142/how-does-this-bash-fork-bomb-work
반응형
'programing' 카테고리의 다른 글
| 'InitializeComponent' 이름이 현재 컨텍스트에 없습니다. (0) | 2023.05.03 |
|---|---|
| 트레이 아이콘만 있는 WPF 응용 프로그램 (0) | 2023.05.03 |
| Git의 마지막 커밋에 파일을 추가하려면 어떻게 해야 합니까? (0) | 2023.05.03 |
| Xcode 9에서 열린 다중 시뮬레이터에서 단일 시뮬레이터를 종료하거나 종료하는 방법은 무엇입니까? (0) | 2023.05.03 |
| Objective-C가 설치된 iOS 9에서 상태 표시줄 텍스트 색을 밝은 색으로 변경 (0) | 2023.05.03 |