BAHAYA!
Jangan jalankan perintah ini untuk 'mengujinya' kecuali Anda siap untuk crash dan / atau reboot sistem Anda.
Saya berada di Virtualbox saya menjalankan 12,04 mencoba untuk mengkompilasi aplikasi, dan sambil menunggu saya kebetulan kebetulan di sebuah forum di mana komentar mengatakan:
Coba
:(){ :|: & };:
Fun juga, dan tidak perlu root.
Tanpa pikir panjang, saya menjalankannya di terminal gnome saya. Itu membuat 12,04 saya (dalam Virtualbox) sangat buruk, saya harus mematikannya.
Pertanyaan saya adalah apa yang dilakukan perintah ini?
: () {: |: &} ;:
command-line
blade19899
sumber
sumber
Jawaban:
Ini disebut bom fork .
:()
berarti Anda mendefinisikan fungsi yang disebut:
{:|: &}
berarti menjalankan fungsi:
dan mengirim hasilnya ke:
fungsi lagi dan menjalankannya di latar belakang.Ini
;
adalah pemisah perintah.:
menjalankan fungsinya pertama kali.Pada dasarnya Anda membuat fungsi yang memanggil dirinya sendiri dua kali setiap panggilan dan tidak memiliki cara untuk mengakhiri sendiri. Ini akan terus menggandakan hingga Anda kehabisan sumber daya sistem.
Menjalankan di Virtualbox cukup masuk akal jika tidak Anda harus me-restart pc Anda.
sumber
;
adalah pemisah perintah. Bagian{ ... }
ini hanyalah isi dari fungsi.|
dan&
dilakukan. Saya mengerti Anda telah menyediakan fungsi ini tetapi saya ingin tahu apa yang mereka berdua lakukanIni adalah bom fork yang disebut diimplementasikan dalam shell.
dari wikipedia:
sumber
Perintah itu adalah versi terkenal dari bom fork
Ini menyebabkan komputer Anda kehabisan memori dengan melakukan proses tanpa batas. Ada beberapa perlindungan yang dapat Anda gunakan untuk melawannya juga:
sumber
Menurut ini
:(){ :|: & };:
disebutJadi disarankan untuk tidak menjalankan ini, dapat menyebabkan kerusakan pada perangkat keras karena itu menyebabkan eksekusi searah, dapat menyebabkan pemanasan dengan mudah di laptop.
Tautan lain menjelaskan melalui tangkapan layar di sini .
sumber
Ini disebut " bom fork ", seperti yang dijelaskan di atas, dan cara lain untuk melakukan ini adalah dengan menggunakan eksekusi latar belakang daripada pipa:
sumber