Bash

為什麼以下命令會殺死系統?

  • December 25, 2011

任何人都理解以下程式碼,在 bash 中執行?

:(){ :|:& };:

它似乎是forkLinux 上的“炸彈”。

其實破解起來並不難。

這段程式碼只定義了一個名為的函式:,它在管道中呼叫自身的兩個實例::|:&. 在定義之後,這個函式的一個實例被啟動。

這導致子shell 程序的數量快速增加。未受保護的系統(每個使用者沒有程序數限制的系統)將受到這種 fork 炸彈的嚴重影響,因為合法程序將很快被數量超過,從而剝奪了大部分 CPU 資源。

引用自:https://unix.stackexchange.com/questions/27623