:なぜバッシュフォークボムにパイプが必要ですか?古典bashのフォーク爆弾の場合
:(){ :& };:
を実行し、それはすぐに終了します。
:(){ :|:& };:
私は次のように変更します。私の理解では、:
関数は子プロセスをバックグラウンドで再帰的に作成すべきです。それはなぜ機能しないのですか?
:なぜバッシュフォークボムにパイプが必要ですか?古典bashのフォーク爆弾の場合
:(){ :& };:
を実行し、それはすぐに終了します。
:(){ :|:& };:
私は次のように変更します。私の理解では、:
関数は子プロセスをバックグラウンドで再帰的に作成すべきです。それはなぜ機能しないのですか?
機能の一つだけ再帰パスが:()
が常にありますので、オリジナルのフォーク爆弾はすぐにシステムリソースを使用して、同時にすべての呼び出しを2以上のインスタンスを起動します。しかし、あなたの変更されたバージョンは一回しか呼び出されず、単純な再帰を行います。おそらく、スタックをオーバーフローさせ、それ以上の害を及ぼさないでしょう。
これは役に立つかもしれません:[このbashフォークボムはどうやって動作するのですか?](0120-333-100) – Cyrus
* [sashの他のバージョンのbashフォーク爆弾作業?](https://stackoverflow.com/a/8394535/6136214)も良いですが、それはpipeを持っていると持っていないことの間に何があるのかを説明するのに役立つかもしれないforkbombの両方のクラスのいくつかのpseudo process treeピクチャを持っていますそれ。 – agc