GNU/Linux >> Linux の 問題 >  >> Ubuntu

コマンド「:(){:|:&};:」がシステムの遅延をひどくして、再起動しなければならなかったのはなぜですか?

危険!

クラッシュやシステムの強制再起動の準備ができていない限り、このコマンドを実行して「テスト」しないでください。

私はVirtualboxで12.04を実行してアプリをコンパイルしようとしていましたが、待っている間に、たまたまコメントが書かれたフォーラムに偶然出くわしました。

:(){:|:&};:を試してください
楽しいし、ルートは必要ありません。

何も考えずに、gnome-terminalで実行しました。 12.04(Virtualbox内)の遅延がひどくなり、シャットダウンする必要がありました。

私の質問は、このコマンドは何をするのですか?

:(){:|:&};:

ベストアンサー

これはフォーク爆弾と呼ばれます。

:() という関数を定義していることを意味します

{:|:&} 関数を実行することを意味します その出力をに送信します もう一度機能させて、バックグラウンドで実行します。

; コマンドセパレータです。

関数を初めて実行します。

基本的に、呼び出しごとに2回自分自身を呼び出す関数を作成していて、自分自身を終了する方法はありません。システムリソースがなくなるまで、倍増し続けます。

Virtualboxでの実行は非常に賢明でした。そうでなければ、PCを再起動する必要がありました。


Ubuntu
  1. サーバーが私のIPをブロックしたのはなぜですか?

  2. システム管理者(root)としてコマンドを実行する方法は?

  3. システムは64ビットOSを実行できますか?

  1. Ubuntu20.04システムのコマンドラインを使用してUbuntuにファイルをダウンロードする

  2. 「最後の」コマンドの出力?

  3. ウィンドウを閉じるコマンド?

  1. Ubuntu –起動/ログイン時にXmodmapコマンドが実行されないのはなぜですか?

  2. 次のコマンドがシステムを強制終了するのはなぜですか?

  3. Ubuntu GnomeターミナルでコマンドInitを実行するとどうなりますか?