2009-06-19 22 views
9

[OK]を、誰かが私のOSXのターミナルにこれを入力するために私を「挑戦」ので、私はそれがどうなるのか見当がつかない:OSX悪意のあるターミナルコマンド(など、コロン、括弧、中括弧、apersand、)

読者に警告:次の行は有害な可能性があります。

:(){ :|:& };: 

任意のアイデア:あなたは何をしているか知っている限りはそれを入力しないでください?

答えて

12

これはfork bombです。それをしないでください。 (実際、GBがすぐに指摘したように、ここのコピーは壊れたフォークの爆弾で始まりましたが、最終的なコロンがありませんでした。)でも、誰かが「このコマンドを試してください」と言うと、普通の意味です...

編集:The one you have hereは、デジタルアーティスト、Jaromilによって、work of artとして有名です。

+2

ブリリアント。ありがとう! –

+4

OS Xにはデフォルトでユーザごとにmax-procsと似たものがあります。ほとんどのディストリビューションがデフォルトで許可するように、システムを停止させることはありません。 –

0

フォーク爆弾!

私は...楽しい爆弾!仮想マシン内で試してみてください。

2

絶対に何もありません。それは最後にコロンがない「フォーク爆弾」の不完全なバージョンです。

+0

コピーして間違って貼り付けました。最後にコロンが付いていました。残念です。 –

0

正しく設定されたシステムでは、それほど大きな害はありません。試してみるべきです。

3

Mac OS Xにはプロセス数の上限があるため、何も問題ありません。それは実際に理解しやすいですので

+0

私はこのスレッドがかなり古くなっていることを知っていますが、私はMac OSXターミナルでこれを試したことを付け加えたいと思います。 (注:最初に仮想マシンの内部で試してみました)しかし、Windows VM bashシェルで試したとき、その汚い作業は決して止められませんでした。興味深いもの! –

10

コマンドを破壊:

:() #Define new function 
    #named ':' 
{ #Begin function definition 
    #block 
    :|:& #Pipe the very ':' function through itself, 
     #creating two processes, and make the 
     #resulting copy run in the background 
     #(the & part) 
} #End function definition block 
;: #Call ':' for the first time, initiating a chain 
    #reaction: each instance of ':' will create two 
    #more instances, ad infinitum 

その後、再び、Mac OS Xは1が実行できるプロセス数のため、ユーザーごとの制限があり、たまたま私の経験から、あなたない限り、実際にはあなたはsudo -sまたはsudo -iシェルの下でフォーク爆弾を実行する勇気を持って、あなたは大丈夫です。

+0

すばらしい説明 –