Bashで実行されている以下のコードを理解できる人はいますか?
:(){ :|:& };:
fork
これはLinuxで「爆弾」のようです。
答え1
事実、壊すことは難しくありません。
:
このコードは、単にパイプラインから自分の2つのインスタンスを呼び出す関数を定義します:|:&
。定義されると、関数のインスタンスが起動されます。
これにより、サブシェルプロセスの数が急激に増加します。保護されていないシステム(ユーザーあたりのプロセス数に制限がないシステム)は、合法的なプロセス数が急速に超過し、ほとんどのCPUリソースが奪われるため、フォーク爆弾によって重大な影響を受けます。