1、連接任意linux服務器
2、啟動bash
3、敲 :(){ :|: & };:
4、回車
看看有哪臺linux服務器能不秒跪……
可見,服務器內核只是一個方面,如果內核沒問題,那么更重要的是你跑的那些程序們干了什么……
這是個bash下的遞歸函數,每次調用它都會創建兩個子進程;然后兩個子進程又會各自再創建兩個子進程,如此反復。結果就是以指數級增長的方式無限創建子進程。
linux下,創建新進程的fork系統調用被優化的非常之好。換句話說,這玩意兒能在1秒之內,創建出幾乎無窮無盡的進程……
然后,一切理所當然就全都癱瘓了。
一旦敲了這個,至少我還沒發現拔電源之外的任何解決方案——預先給當前用戶設置合理資源限額的不算。