如果您在內部運行.bat或.cmd文件,內存爲%0|%0
,則您的計算機開始使用大量內存,幾分鐘後重新啓動。爲什麼此代碼會阻止您的Windows?這段代碼在編程上做了什麼?它可以被認爲是一個「bug」?什麼是%0 |%0,它是如何工作的?
61
A
回答
114
這是一個fork bomb的Windows版本。
%0
是當前正在執行的批處理文件的名稱。包含此行的批處理文件:
%0|%0
要遞歸地自行執行,快速創建許多進程並減慢系統速度。
這不是Windows中的錯誤,在批處理文件中這只是一個非常愚蠢的事情。
36
這被稱爲叉式炸彈。 它一直在自我分裂,直到沒有選擇,只能重新啓動系統。 http://en.wikipedia.org/wiki/Fork_bomb
6
這是一個邏輯炸彈,它不斷重新創建並佔用你所有的CPU資源。它會讓您的計算機因過多進程而超載,並迫使其關閉。如果你用它創建一個批處理文件並啓動它,你可以使用taskmgr來結束它。你必須很快做到這一點,否則你的電腦將無法做任何事情。
16
它是什麼:
%0|%0
是fork bomb。它將使用管道|
產生另一個進程,該進程異步運行同一程序的副本。這會佔用CPU和內存,使系統減速至接近停頓(甚至導致系統崩潰)。
這是如何工作的:
%0
是指用於運行當前程序的命令。例如,script.bat
管道|
符號將使第一個命令序列的輸出或結果成爲第二個命令序列的輸入。在叉式炸彈的情況下,沒有輸出,所以它將簡單地運行第二個命令序列而沒有任何輸入。
展開示例,%0|%0
可能表示script.bat|script.bat
。這再次運行,但也創建另一個進程再次運行相同的程序(沒有輸入)。
相關問題
- 1. -0?什麼是-0?
- 2. 什麼是decltype(0 + 0)?
- 3. 爲什麼$? -ne 0工作但是$? !=「0」不起作用?
- 4. Jquery $() - 它返回什麼,什麼是$()[0]?
- 5. 什麼是notifyItemRangeChanged(0,this.data.size());在這個例子中,它是如何工作的?
- 6. $(「#id」)[0]中的[0]是做什麼的?
- 7. 什麼是(__ASSERT_VOID_CAST(0))?
- 8. 什麼是java.lang.ArrayIndexOutOfBoundsException:0?
- 9. sqlite3,如果它不是null,它不是0,它不是「」,它是什麼?
- 10. 什麼,它總是返回0
- 11. 爲什麼2 + 1&0結果是0?
- 12. '[0]'與$('#div')[0]是什麼意思?
- 13. Long.valueOf(0).equals(Integer.valueOf(0))爲什麼是false?
- 14. 紅寶石爲什麼0 || 1是0
- 15. AWS:0.0.0.0/0和::/0是什麼意思?
- 16. np.cumsum(0)是做什麼的?
- 17. 什麼是C中的「{0}」?
- 18. (0 + 1)*的DFA是什麼?
- 19. golang中的^ 0是什麼?
- 20. 「formMain entry = new formMain(dt.Rows [0] [0] .ToString());」這是什麼意思?特別是行[0] [0]
- 21. 輝煌的Intellij特性用item [0]替代item.charAt(0)...但是它是什麼?
- 22. A = A〜= 0是做什麼的,我該如何指定它?
- 23. 如何確定一個空字符串時,它的內容是\ 0 \ 0 \ 0 \ 0
- 24. Jenkins的種子工作是什麼?它是如何工作的?
- 25. 什麼是代碼頁0?
- 26. $ .get(0)是什麼意思?
- 27. yytext [0]是什麼意思?
- 28. 什麼是(0,eval)()呢?
- 29. 爲什麼last_rx總是0?
- 30. GetDC(0&)是什麼意思?
可能重複的[批量炸彈?](http://stackoverflow.com/questions/8949103/batch-fork-bomb) – Cerbrus