[解決済み] このbashのフォーク爆弾はどのように機能するのでしょうか?重複
2022-08-23 13:36:37
質問
Wikipediaによると、以下のように非常にエレガントなbashのフォーク爆弾があるそうです。
:(){ :|:& };:
どのように動作するのですか?
どのように解決するのですか?
分解してみると、大きく3つのピースがあります。
:() # Defines a function, ":". It takes no arguments.
{ ... }; # The body of the function.
: # Invoke the function ":" that was just defined.
プロセス上で連続して呼び出されるたびに ":" への呼び出しがさらに生成されます。これは、システムリソースの爆発的な消費に急速につながり、事態を停止に追い込みます。
なぜなら、それは単に元のプロセスのスタック オーバーフローを引き起こすだけだからです。
より人間に近いバージョンは次のようなものです。
kablammo() { # Declaration
kablammo | kablammo& # The problematic body.
}; kablammo # End function definition; invoke function.
編集します。 下のWilliamのコメントは、私が上で言ったことをより良く言い表したものでしたので、その提案を取り入れるために編集しました。
関連
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bash prints リテラルの改行をエコーする \n
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで文字列をデリミターで分割するには?
-
[解決済み] Bashで変数が設定されているかどうかを確認する方法は?
-
[解決済み] Bashで変数で定義された数値の範囲を反復処理するにはどうすればよいですか?
-
[解決済み] Bashで標準出力と標準エラーの両方をファイルにリダイレクトして追記する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】メタキャラクタの周りに空白が必要な場合があるのはなぜですか?
-
[解決済み] IFS=$' \n' の正確な意味は何ですか?
-
[解決済み] bashのループリストで空白をエスケープするには?
-
[解決済み] find を使ってサブディレクトリを除外する
-
[解決済み] シェルスクリプトで文字列が空でもスペースでもないことをチェックする
-
[解決済み] Makefileでシェルコマンドを使用する方法
-
[解決済み] コマンドライン・ターミナルでの乗算
-
[解決済み] set -u` による Bash による空の配列展開
-
[解決済み] bash で "set -o nounset" を使用したときに変数が設定されているかどうかをテストする。
-
[解決済み] シェルスクリプトからウェブブラウザを起動する方法は?