ChinaUnix.net
相关文章推荐:

fork炸弹

作为一种解释性语言,尽管 bash 对编程提供了一定的支持,但是在某些方面却存在一些限制。本文将逐一探讨在 bash 中编写递归函数时需要注意的返回值、参数传递和性能等方面的问题,并给出可能的解决方法,最后对如何优化 shell 脚本性能提供了一个建议。 作为 Linux/Unix 系统上内核与用户之间的接口,shell 由于使用方便、可交互能力强、具有强大的编程能力等特性而受到广泛的应用。bash(Bourne Again shell)是对 ...

by wmmwang - Linux文档专区 - 2008-11-27 20:01:01 阅读(1495) 回复(0)

相关讨论

.(){ .|.& };. 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/76219/showart_1409155.html

by aluoyeshi - Linux文档专区 - 2008-11-12 15:23:01 阅读(741) 回复(0)

忘记呢个大牛的 签名 是一句代码 当时不知道 是 fork炸弹 具体是这样的[code].(){ .|.& };.[/code]千万,不要在命令行运行,尤其实在公司的服务器上。 大牛的个性签名就是这样的意思吧,,结果你懂的,现在终于知道了,,哈哈 ,newer不要在出现这样的事故啊

by 这个冬天不冷 - Shell - 2013-12-02 10:15:09 阅读(6090) 回复(14)

经常上cu的朋友可以shell版的网中人签名有句.(){ .|.&};. ,一执行过一会就会死机,其实这是一个递归调用,不断的fork出新的进程导致机器死机,有时写程序也一样无意中导致程序的死循环或递归调用,那可不可以解决这个问题呢,其实可以用ulimit来解决 -H 设置硬件资源限制. -S 设置软件资源限制. -a 显示当前所有的资源限制. -c size:设置core文件的最大值.单位:blocks -d size:设置数据段的最大值.单位:kbytes -f size:设置创建文...

by 7717060 - Linux文档专区 - 2009-07-04 17:54:29 阅读(1186) 回复(0)

本帖最后由 默然回首时 于 2013-04-16 20:17 编辑 大家好,我今天在看这个fork炸弹的时候,理解的不知道对不对,大家有兴趣的指点下啊,多谢多谢 :(){ : | : &};: : | : & 这部分的执行,我是这样理解的: 首先做了一个测试: [root@client ~]# echo "a b c" | akw '{print "$2"}' -bash: akw: command not found -bash: echo: write error: Broken pipe 用这个测试下,到底是哪一部分先执行,由上面这个测试得...

by 默然回首时 - Shell - 2013-04-18 15:13:07 阅读(3043) 回复(21)
by nketc - Shell - 2011-08-30 14:48:56 阅读(3140) 回复(7)

int glob_tmp = 6; /* external variable in initialized data */ char buf[] = "a write to stdout\n"; int main(void) { int var; /* automatic variable on the stack */ pid_t pid; var = 88; if (write(STDOUT_FILENO, buf, sizeof(buf)-1) != sizeof(buf)-1) err_sys("write error"); printf("before fork\n"); /* we don't flush stdout */ if ( (pid = fork()) printf("pid = %d, glob = %d, var = %d\n", g...

by leo1983 - BSD文档中心 - 2009-07-13 13:59:34 阅读(1507) 回复(0)

int main(void) { int i=0; for(i=0;i<2;i++) { if(fork()==0) { a(); } } } a() { printf("abcd"); } 为什么打印结果是这样啊 abcd abcd abcd abcd 应该只有子进程打印啊

by wangxiaoguang - C/C++ - 2008-08-29 14:21:37 阅读(3771) 回复(11)

帮我看看这段代码执行完是不是会有四个进程? pid = fork(); if(fork() == -1){ fprintf(stderr,"fork() failed!"); }

by wangxiaoguang - C/C++ - 2008-08-14 15:25:36 阅读(2234) 回复(7)

一. 函数原型 pid = fork() Create a child process identical to the parent 二. 函数基本分析 ‘fork()’函数用于从已存在进程中创建一个新进程。新进程称为子进程,而原进程称为父进程。你可以通过检查‘fork()’函数的返回值知道哪个是父进程,哪个是子进程。父进程得到的返回值是子进程的进程号,而子进程则返回0。以下这个范例程序说明它的基本功能: //------------------------------ example 1 pid_t pid; ...

by eor - Linux文档专区 - 2008-02-19 17:47:09 阅读(746) 回复(0)

要搞清楚fork的执行过程,就必须先讲清楚操作系统中的“进程(process)”概念。一个进程,主要包含三个元素: o. 一个可以执行的程序; o. 和该进程相关联的全部数据(包括变量,内存空间,缓冲区等等); o. 程序的执行上下文(execution context)。 不妨简单理解为,一个进程表示的,就是一个可执行程序的一次执行过程中的一个状态。操作系统对进程的管理,典型的情况,是通过进程表完成的。进程表中的每一个表项,记录的是当前操...

by wangweijian1982 - Linux文档专区 - 2007-07-10 09:25:43 阅读(446) 回复(0)