Fork bomb: تفاوت بین نسخهها
سطر ۱۰: | سطر ۱۰: | ||
در این بمب '''”:”''' نام یک تابع است که پس از آن علامتهای '''”()”''' میآیند. علامتهای '''”}”''' و '''”{”''' نشان دهندهی آغاز و پایان بدنهی تابع است، بدنهی تابع نیز '''”<code dir="ltr">:|:&</code>”''' میباشد، درون بدنه تابع '''”<code dir="ltr">:|:</code>”''' بدین معنی است که تابع '''”:”''' را اجرا کن و خروجی آن را دوباره به '''”:”''' بفرست. علامت '''“&”''' نیز باعث اجرای تمام این دستورات در پسزمینه سیستم میفرستد، در نتیجه دیگر با '''Ctrl+C''' نمیتوان جلوی این عملیات را گرفت. '''”:;”''' هم که در انتها آمده است، به این معنی است که تعریف تابع تمام شده و تابع باید اجرا شود. | در این بمب '''”:”''' نام یک تابع است که پس از آن علامتهای '''”()”''' میآیند. علامتهای '''”}”''' و '''”{”''' نشان دهندهی آغاز و پایان بدنهی تابع است، بدنهی تابع نیز '''”<code dir="ltr">:|:&</code>”''' میباشد، درون بدنه تابع '''”<code dir="ltr">:|:</code>”''' بدین معنی است که تابع '''”:”''' را اجرا کن و خروجی آن را دوباره به '''”:”''' بفرست. علامت '''“&”''' نیز باعث اجرای تمام این دستورات در پسزمینه سیستم میفرستد، در نتیجه دیگر با '''Ctrl+C''' نمیتوان جلوی این عملیات را گرفت. '''”:;”''' هم که در انتها آمده است، به این معنی است که تعریف تابع تمام شده و تابع باید اجرا شود. | ||
− | {{نکته|شما میتوانید | + | {{نکته|شما میتوانید بهجای نام تابع '''”:”''' از هرچیز دیگری نیز استفاده کنید. مثلا: |
<pre language="bash"> | <pre language="bash"> | ||
bomb() { | bomb() { |
نسخهٔ ۴ مرداد ۱۴۰۰، ساعت ۱۳:۵۸
Fork Bomb مجموعهی چند دستور است که در نهایت منجر به کرش کردن سیستم میشود.
ساخت و اجرای این بمب بسیار ساده است، کافی است دستور زیر را در پایانه وارد کنید:
اخطار:
استفاده از این بمب به دقت نیاز دارد. با دقت از آن استفاده کنید:(){ :|:& };:
نحوهی عملکرد
در این بمب ”:” نام یک تابع است که پس از آن علامتهای ”()” میآیند. علامتهای ”}” و ”{” نشان دهندهی آغاز و پایان بدنهی تابع است، بدنهی تابع نیز ”:|:&
” میباشد، درون بدنه تابع ”:|:
” بدین معنی است که تابع ”:” را اجرا کن و خروجی آن را دوباره به ”:” بفرست. علامت “&” نیز باعث اجرای تمام این دستورات در پسزمینه سیستم میفرستد، در نتیجه دیگر با Ctrl+C نمیتوان جلوی این عملیات را گرفت. ”:;” هم که در انتها آمده است، به این معنی است که تعریف تابع تمام شده و تابع باید اجرا شود.
bomb() { bomb | bomb & }; bomb
پس اجرای این بمب، سیستم شروع به کند شدن میکند و پس از مدت زمانی سیستم کاملاً کرش میکند. اینکه این مدت زمان چقدر است بستگی به سختافزار شما دارد. تعداد هسته های CPU، حجم RAM و حتی گاهی Swap تأثیر گذار خواهند بود.