Talk:Fork bomb

message: Hi. I'm the one who published the Forkbomb SHELL code :(){ :|:& };: as a work of art in 2002. My artwork used to be quoted in this article, as an example which is still there. A few months ago this reference was deleted and I asked the one who deleted why. Here is the discussion (update! now even the discussion has been deleted!). Anyway, I'm looking forward to read your opinions on art :^)
And I hope I won't be removed from this little part of Internet history, that forkbomb was a source of inspiration for this article. ciao jaromil (talk) 00:17, 28 October 2012 (UTC)
replies: text: please ignore my message above since the whole section on forkbombs (IMHO the most entertaining part of this article), has just been deleted, including the quote of my artwork. All hail deletionism! ciao jaromil (talk) 18:04, 3 November 2012 (UTC)

text: I'm not "claiming ownership" in any way, I've only asked to be fairly quoted as I did present that forkbomb as a work of art. I cannot claim any more ownership on it than Andy Warhol could have done on Campbell soup cans. jaromil (talk) 17:11, 26 February 2013 (UTC)

text: Then why list that forkbomb as first? I argue because it is *elegant* as is, defined as such by art critics (reference available, but deleted!). I find the fact that a forkbomb can be an artwork and can be defined elegant as *relevant* to this article. I'm also very tired of arguing against IP numbers, all the people that have advocated this act of deletionism are not wikipedia editors nor have signed themselves. jaromil (talk) 05:17, 22 June 2013 (UTC)

text: I did not added it in the first place, its deletion is not being debated here and you are insisting to vandalize the article from an unregistered IP. Please argue why it doesn't belong. I'm not self-promoting, I'm defending factual information that was added on the article and is being vandalized from unknown ip addresses. jaromil (talk) 11:01, 30 June 2013 (UTC)

text: Thanks for your mediation Wolfgang. As you can see from the history, this article has been targeted by random ips deleting its content, even the whole section about different forkbombs, while I've not been the only one trying to defend it so far. Regarding the specific artwork quote, your solution is good. jaromil (talk) 13:27, 5 July 2013 (UTC)
replies: text:  Actually one more thing: the correct reference for the artwork is this link http://runme.org/project/+forkbombsh/ . Runme is an online exhibition of software art and has academic accreditation in several publications, while it quotes comments of art critics and links catalogues. I suggest to use that as a reference rather than a blog article. jaromil (talk) 13:31, 5 July 2013 (UTC)
replies: text:  I added it, but also kept the twinfish citation since they each contain different information. — Wolfgang42 (talk) 19:53, 5 July 2013 (UTC)
thread_title:  :(){ :|:& };: 

message: I tried it both before and after fork bombing. It just says:
-bash: !: event not found
: One of the examples under the defuse section is just completely wrong. The dot (.) command does NOT "call the current directory", it's an alias for the built-in "source" command. Seriously, people should test these examples. Also, people who haven't got a clue should avoid making things up in their haste to appear smart.
What is actually the '!'?  —Preceding unsigned comment added by Ehasl (talk • contribs) 20:11, 25 April 2008 (UTC)
replies: text: The syntax "&!" in zsh disowns (i.e., avoids job control) on the new child process. This is necessary to avoid overflowing the shell's job control tables. With bash, you can use "... & disown" instead. 
Getting rid of a forkbomb on Linux systems even if the process table is full is possible.
1. Press Ctrl+Alt+F1. After a while you should see the login: prompt
(if something else is there use Ctrl+Alt+F2 etc until you find one)
2. Login as root. Once again, this might take awhile
3. Issue kill -9 -1. This might take a while again but once it is done, the forkbomb is dead, as is everything else
4. issue init 1 followed by init 5 to restart system services  —Preceding unsigned comment added by 64.139.38.226 (talk) 23:22, 11 August 2008 (UTC)
thread_title:  The bash fork bomb cure does not work... 

message: Should Wikipedia include what errors, etc. come up during a fork bomb? IE: Windows Command Line in Vista states that "The process tried to write to a nonexistent pipe." This usually occurs late in the fork bomb. 24.183.100.243 (talk) 02:24, 20 January 2009 (UTC)
replies: text: This doesn't apply to Windows at all. Get a real OS.  — Preceding unsigned comment added by 217.42.5.13 (talk) 06:45, 12 March 2012 (UTC)
thread_title:  While a forkbomb is running 

message: Removed the how-to tag, these are elegant examples that aid description, programming is about instruction it is an unavoidable consequence that this resembles a how to. You would not stigmatise an arts page as how-to because they have a gallery of examples. I agree its got a bit out of hand on this page with the fanboy attitude of adding every language under the sun :S but deciding what languages are significant is another story. MattOates (Ulti) (talk) 08:04, 3 June 2009 (UTC)
thread_title:  How-to tagging 

message: I know that Fork Bombs are relatively harmless since they can be terminated through a log off, or a reboot, but is it really a good thing to produce so many examples of them on this one page.  It just seems like any sort of malicious code, virus, or bomb should not be posted in a place like this. 143.112.32.4 (talk) 20:53, 5 January 2010 (UTC)
thread_title:  Why are examples included 

message: Why do you push and pop from the stack?
Isn't this better?
section .text
::global _start
_start:
::mov eax,2
::int 0x80
::jmp _start
?  —Preceding unsigned comment added by 85.167.25.91 (talk) 14:51, 2 July 2010 (UTC)
thread_title:  The NASM assembly example 

message: Don't most fork bombs allocate each process memory with Malloc or whatever language specific memory allocation function that language uses? So shouldn't the C/C++ examples malloc themselves, I don't know, 100 MB?Mmavipc (talk) 05:55, 2 September 2010 (UTC)
replies: text: I removed most of the stuff about this since pretty much every operating system implementation uses copy on write nowadays. Cdwn (talk) 14:43, 26 September 2012 (UTC)
thread_title:  Memory hogging? 

message: The classic ":(){ :|:& };:" bomb doesn't seem to work on newer bash versions anymore - it gives a syntax error. --187.15.115.138 (talk) 18:10, 25 September 2010 (UTC)
replies: text: ':' is a Bash builtin synonymous to true. That definition overrides it (though you can still access it with "command"). Not sure why you would pick : as the function name but it probably isn't a very good idea. For some reason that name is the canonical definition for this recursive forkbomb but might break on some configurations. Ormaaj (talk) 22:56, 3 February 2011 (UTC)
replies: text:  is not synonymous with true, it is a noop that just happens to return true. Cdwn (talk) 02:35, 19 September 2012 (UTC)
replies: text: Please see man true. true is a command, which always returns exit code 0 (success). : is a builtin doing exactly the same. Nyh (talk) 21:38, 20 September 2012 (UTC)
replies: text: If you are using bash, the manual page does not document the version of true that you are probably using, as true is also a shell builtin. Compare strace bash -c : and strace bash -c true; they do not perform the same internally. Either way, my intention was only to correct a factual inaccuracy, not engage in pedantry over function vs. form (or the meaning of what it is to be "synonymous"...). Cdwn (talk) 14:22, 26 September 2012 (UTC)
thread_title:  bash broke the classic bomb 

message: I tried uploading the full version of the fork-bomb shell script to virustotal.com, and no engines detect it.  (A handful of antivirus engines detect the "%0|%0" version.)  Why do so few anti-malware apps detect the fork-bomb shell script, and what's the best way to scan a shell script to see if it is malicious or not?
Bwrs (talk) 07:39, 3 April 2021 (UTC)
thread_title: bomb not detected

message: I removed the M forkbomb, because it was wrong. A real one would look like this:
f f  j f
but I think that the whole examples section is OR, so I'm just going to leave it out. 24.177.120.138 (talk) 07:50, 17 April 2011 (UTC)
thread_title:  Minor 

message: And it should probably be referred to as common lisp, rather than just lisp. It can't be made multi-threaded, let alone multi-process, as forking and threading are undefined in the standard. Maybe it should be deleted or changed to an implementation dependent version?  —Preceding unsigned comment added by 138.37.91.30 (talk) 16:14, 26 April 2011 (UTC)
thread_title:  The Lisp version  is single threaded 

message: ABAP Version was just an infinite loop and not a fork bomb. Given the fixed number of process slots Netweaver has with a roll-in/roll-out mechanism a forkbomb does not quite make sense - it would not bring the system completely to its knees, it would just drastically degrade performance. I guess a semi fork-bomb can be made using CALL FUNCTION .. IN BACKGROUND TASK.  — Preceding unsigned comment added by 41.185.97.170 (talk) 09:07, 22 September 2011 (UTC)
thread_title:  ABAP Version 

message: I will be editing this because it doesn't use any functions or syntax specific to C++, and also it uses the C standard library to actually use the system() function. Also, I have general issues with it: I'm not sure it's a proper fork bomb as it consumes one thread and only one of the processes is using the CPU; all the others appear to be idle. None daemonise from the calling shell. --Adamd1008 (talk) 18:14, 7 October 2011 (UTC)
thread_title:  "In general C++..." 

message: The graphic in the intro doesn't represent a canonical fork bomb properly, it represents one using wait(), which doesn't make any sense. The graphic should probably be fixed to actually represent what a canonical fork bomb looks like. Cdwn (talk) 02:33, 19 September 2012 (UTC)
replies: text: Actually, it doesn't even look like one using wait()... if the intention is to demonstrate the exponential nature of a fork bomb, this is a good graphic, but in terms of actual accuracy it is somewhat lacking. Cdwn (talk) 04:35, 27 September 2012 (UTC)
thread_title:  Misleading graphic 

message: Is it really a good idea to have a vast "examples" section? I see them only in other articles that describe features that are programming language related, but a fork bomb is not a programming feature, it's a computing phenomena. If there are no objections, I would seek to remove it, and replace it with descriptive pseudocode. Cdwn (talk) 14:34, 26 September 2012 (UTC)
replies: text: I've removed the section in question and replaced it with generalised implementation details. Cdwn (talk) 03:31, 27 September 2012 (UTC)

text: I very much think it is a mistake to remove all of the examples.  An encyclopedia should be able to cite real world examples, and you have removed those from the page.  I see no reason to believe that providing real examples is any way detrimental to this page.  There is no reason to censor information.   76.247.159.59 (talk)  —Preceding undated comment added 18:10, 14 November 2012 (UTC)
thread_title:  Removing/making examples section more terse 

message: The whole "Defusing" section appears to be original research. I'll try and find some references and clean it up, but otherwise failing that I'll just remove it. Cdwn (talk) 14:46, 26 September 2012 (UTC)
replies: text: I've removed it. Cdwn (talk) 18:29, 27 September 2012 (UTC)
thread_title:  Original research in "Defusing" section 

message: Ideally there should also be information about fork bomb prevention on other common systems (Windows in particular). I didn't find any good references on the subject after a quick skim, but I'll keep on looking. Cdwn (talk) 18:30, 27 September 2012 (UTC)
thread_title:  Prevention section is highly Unix-biased 

message: well done for messing up a good page from a user. you are so fail.  — Preceding unsigned comment added by 86.148.12.80 (talk) 15:05, 1 October 2012 (UTC)
replies: text: Assuming that you're talking to me, since I have been the only one working on this article in the past few weeks. I can only apologise if what I've done has in your view detracted from the quality of the article. This has been my first "serious" attempt at editing on Wikipedia in a long time, so it is entirely possible that I may have missed a few things or got some things wrong. There was quite a large amount of unreferenced content, and after a lot of searching I couldn't find any references for them, so one of the major things that I have done is removed large quantities of unreferenced original research; perhaps this is what you're referring to. If you can find some reliable references for the content, I would highly encourage you to readd the content with those attached. Otherwise, if it was something else that I did which negatively impacted on your view of this article, please let me know and I'll do my best to rectify it where possible. — cdwn 20:36, 4 October 2012 (UTC)
thread_title: Comment from user

message: A few weeks ago, I removed unreferenced content in the form of a "defusal" section in the article (see here). This content was today readded by another editor. Does my original removal under WP:OR seem appropriate? Would there be further objections to the re-removal of the content? — cdwn 23:05, 15 October 2012 (UTC)
replies: text: Original research is not permitted by Wikipedia policy. That is the reason that I removed it in the first place. — cdwn 12:05, 29 October 2012 (UTC)
replies: text: cdwn's message above is true and completely correct in this instance. If he wishes to remove it now then I'd agree with the removal. gwickwire | Leave a message 22:22, 1 November 2012 (UTC)
thread_title:  Readdition of unreferenced "defusal" section 

message: Feel free to add this "finding" to the article if you think it belongs there - in a more encyclopaedic format obviously.
While compiling stuff on a remote server, I got really bored.  Long story short - the bash forkbomb from this article works very nicely on Windows in Cygwin.
Not only that, but Windows' equivalent to `killall` is quite weak at dealing with it.  It kills some (but not all) of the forked processes on this Windows 7 machine (using "taskkill /f /im sh.exe"), so the "survivors" continue forking.  I had to run the command almost a dozen times before it killed every last fork...
I didn't see the process count, but the handle count in task manager went from 25000 to around 80000 before I got the first kill order dispatched.
194.150.65.97 (talk) 03:16, 27 August 2014 (UTC)
thread_title:  Portability: Works on Cygwin! 

message: Look at the first page of the history and you can see that the example section expands exponentially over time as everyone rushes to include snippets of their favourite languages. Previous revision had "Example in X ... And in Y ... Any in Z ... and in AA ..." and it went on and on and on for well over 50% of the content of the page. 
This article is not a gallery of fork bombs. If people want to write one, they can go to Google and search for "fork bomb in [my favourite language]". This article is now much more readable. 180.15.182.119 (talk) 13:13, 19 February 2017 (UTC)
replies: text: That was a bad move. I had the Wikipedia page bookmarked because of the Bash example and I couldn't find one. The article mentions Unix and Windows implementations; it should include at least these two. I'd further argue that it should include some other major languages. So, let's return the section and clean it up. — Giorgi Gzirishvili (talk) 18:08, 3 March 2017 (UTC)
replies: text: Wikipedia is not a HOWTO (there's a policy somewhere on that). If you want to use a fork bomb, find another page on Google and bookmark that! All that would happen were "some major languages" left in would be exactly the same as before: some language fan says "well X is in there, why not Y?" followed by language fan#2 coming in with "well Y is in there, why not Z?" ad nauseum. 180.15.182.119 (talk) 12:56, 9 March 2017 (UTC)
replies: text: If the cluttering is the problem, my suggestion is creating another article just for the examples of fork bombs. Also, I don't see how giving examples is a how-to guide, so that's a straw man. — Giorgi Gzirishvili (T · C), 04:52, 12 May 2017 (UTC)
replies: text:  — Giorgi Gzirishvili (T · C), 05:50, 12 May 2017 (UTC)

text: I also agree that the examples of fork bombs and tricks to "defuse" them were an interesting part of this article until they were removed for no good reason - since increasing the article length (provided it is well organized to put the more important information near the top) doesn't cost anything. Wikipedia is not a printed encyclopedia. Granted, we need some common sense: We don't need examples in 17 different languages. If we have more than one example, it needs to differ in some interesting way, not merely in the programming language. The shell example we used (the one with :(){:|:}) to have was amusing because it was so short, and it has become an Internet meme of its own, and should have remained. 08:32, 30 May 2017 (UTC)
thread_title:  No more examples 

message: This GitHub page contains examples of fork bombs in numerous languages; more than this article does. I don't think Wikipedia is the place for a list of examples. Instead, the article could link to this page, and we could remove the examples from the article. Maybe we could keep one or two examples to demonstrate how the fork bomb actually works (like keeping the C code and explaining it). Thoughts? SebastianTalk | Contrib. - 03:12, 28 March 2020 (UTC)
replies: text: EDIT: I've looked through the page history, and almost all edits are editing examples. This is preventing the article from being as good as it could be, as people are only editing one section that is only disputably even suitable for Wikipedia. SebastianTalk | Contrib. - 03:30, 29 March 2020 (UTC)
thread_title:  Remove examples section and replace with link 

message: 68.205.84.110 (talk) 16:11, 24 April 2020 (UTC)
replies: text:  It seems like the popular opinion here is that Wikipedia isn't the place for a list of examples of fork bombs, and the section was dominating the article. Why do you think the section should be in the article? I'm willing to hear your point of view. SebastianTalk | Contrib. - 02:19, 25 April 2020 (UTC)
replies: text:  Hello. Sorry for hijacking your conversation, but it looks like a right place to insert my remark. Some preface, may be skipped: Today, referring my kōhai to this article I was very unpleasantly surprised by the fact it was castrated - that's good term - by removing examples. I've walked through all suitable to situation stages: surprise, anger, looking for one to blame (yep, I saw your looong badge stripe =), planning, producing enough quatity of cunning, etc. The article was beautiful. It wasn't my favorite, but was an article, which I remembered (from thousands I've read) and which I like to revisit from time to time or point someone to. Now dry arguments: 1) without examples the article is incomplete and bogus; 2) examples was showing how forking implemented with different programming languages/platforms, the article was very good example of how Wikipedia article should look like; 3) the article was attracting attention which was perfect for the project advertisement, now it's not; I wonder, before deletion has someone checked it's popularity? because that's exact the way to destroy Wikimedia achievements; 4) GitHub - good project, but it's commercial non-Wikimedia project, which additionally some time ago had owner change with questionable perspectives - it's definitely not the place to keep parts of Wikipedia articles, Wikimedia got enough it's own projects to move this content to; 5) article now promotes someone's private GitHub repository, with all my respect to owner, filled with not all-the-best examples of forking and 6) why do all that loss of content written by it's authors? looks not too respectful to people spend time of their life to create content; 7) Fork Bomb article may look like not the best place to show forking examples, but it was the place people like to visit and author (is some countries if many people create a trail - it'll be arranged to good road later, in some - it'll be restricted by fences and warnings); 8) deleters was roaming around this article for decade, just look at this talk page and article history, let's make 2020 don't be it's end; 9) I (and obviously others) can use original article state from its history, but I believe that's not the way MediaWiki optimized to work, and not the way Wikipedia should be used; 10) I'm not going to keep it quiet, bring all the lost content back is what I'm going to achieve, I've seen enough of Wikipedia articles destroyed by rash deletions; if someone wants war - so be it =). Now some thoughts about reconstruction. I agree, that all the world of forking examples should not be included in article itself, just the most wide used and elegant, the rest can be placed to specific article as suggested earlier (e.g. Examples of fork bombs). I can take efforts for creating this new article, re-authoring the current one and managing/curating these two articles by myself in future, if it's required. What do you say? Desummoner (talk) 02:20, 23 October 2020 (UTC)
replies: text:  Hi, sorry for the late response; I haven't been on Wikipedia in a while. Many of these remarks are valid; though I'd like to add my responses to some of them. (the formatting here doesn't look particularly great, someone with more experience in wiki-markup can edit this message to look nicer if they wish)
Response to Preface: I agree that the article was memorable; in fact I discovered it from the cron.weekly newsletter as one of the links. The article was linked primarily because of its long list of examples. However, I still don't think that such a list is fit for Wikipedia. Wikipedia is intended to be an encyclopedia, and while a couple of examples of a concept can help further understanding (as it does in this article's current state), showing an example of a fork bomb in every language in which it is possible doesn't align with the goals of an encyclopedia. If they were on their own dedicated article, the discussion would be much different, but here it doesn't really make that much sense.
1) Would you be willing to elaborate on this point? I disagree here: as I said above, the numerous examples didn't help to further understanding of the topic, and if anything they distracted from the main content of the article itself. If you feel that the article is incomplete for whatever reason, you can edit the page with some content that you think would fit in nicely. But I don't think that an article is "bogus" or "incomplete" just because it's short. If an article can convey the information it needs to in a short amount of space, that seems like a good thing.
2) Do you know of any other articles that follow the same layout as this one did? If there is a precedent on Wikipedia for these kinds of long-winded lists, then I will happily consider changing my mind on this decision. But as of now, I don't think that long lists of examples define what Wikipedia is in essence. Wikipedia is an online encyclopedia.
3) The goal of Wikipedia is not to attract as many visitors as possible; it is to spread free knowledge. Wikipedia is not a commercial product, and I am strongly against justifying modifications to Wikipedia in the sole interest of increasing traffic to the site.
4) This is a reasonable concern. However, in the event that something happens to the GitHub repo, this page can simply just link to the WayBack Machine's archive of the repo. And where else on Wikimedia could the list be moved to? I would be in favor of making a separate article on Wikipedia itself for the list, but if there's a better place for it then I'd like to hear that.
5) I have no objections to this argument. You make a good point there.
6) Content gets removed from Wikipedia all the time, and I'm sure that nearly everyone who's edited Wikipedia for a decent amount of time has had some of their edits removed or reverted. To do so is not a personal attack on any of the authors of said content, especially if all authors share the mutual goal of wanting the site to become better. Of course, it can be very difficult and crushing if things that you worked very hard on are suddenly deleted, but I don't think that's a valid argument to simply not remove things.
7) If the popular majority of Wikipedians disagree with me, then I am 100% okay with helping them re-instate the examples section to its former glory. But as of now it seems like the issue is pretty split, and the examples section hasn't been re-added yet.
8) This isn't really an argument against the removal of the section; it's just a plead.
9) Why not? MediaWiki was "optimized" to allow for viewing of old revisions of articles, and if it works, then there's no reason that Wikipedia "shouldn't be used" like that.
10) The content isn't lost, as you pointed out yourself in #9. Though like I said, if others share your point of view on the situation, then I would happily support and even help out with re-instating the section.
Finally, I'd be in favor of creating a separate Examples of fork bombs article, though it seems like such an article was already created in the past and deleted (the request for deletion is here). The debate there seems to have already been settled; and recreating the article most likely wouldn't accomplish anything but waste the admins' time on having to delete it yet again. I'm willing to hear any more points you or others may have, though let's all try to keep things civil. SebastianTalk | Contrib. - 00:45, 28 December 2020 (UTC)
thread_title:  EXAMPLES MOVED TO GITHUB