Fork 炸彈

一個簡單的小問題,請問下面一行命令代表甚麼意思

:() { :|:& };:

這是我在「開源」電子雜誌上看到的問題
還挺有意思的
拿去問我同事,結果他聯想都不想,
就直接執行下去 ... (不干我的事啊,我只是想要分享一下,沒人要他執行啊)

上面那行指令可以拆解如下:

:()
{
:|: &
}
;
:

紅色部份是一個函數,而綠色的部份是執行這個函數,然後系統就會開始進行「指數」方式成長的 Fork,想當然爾,系統的資源就... 掰掰囉~連 kill 的時間都沒有。
(所以我同事現在非常小心我丟給他的東西 :p )

解決方法: ulimit (但平常有人會用這個嗎?)

留言

這個網誌中的熱門文章

如何將Linux打造成OpenFlow Switch:Openvswitch

我弟家的新居感恩禮拜分享:善頌善禱

Linux Virtual Interface: TUN/TAP