用ulimit解决fork炸弹

1083阅读 0评论2009-10-16 greendays
分类:

经常上cu的朋友可以shell版的网中人签名有句.(){ .|.&};. ,一执行过一会就会死机,其实这是一个递归调用,不断的fork出新的进程导致机器死机,有时写程序也一样无意中导致程序的死循环或递归调用,那可不可以 解决这个问题呢,其实可以用ulimit来解决

-H 设置硬件资源限制.
-S 设置软件资源限制.
-a 显示当前所有的资源限制.
-c size:设置core文件的最大值.单位:blocks
-d size:设置数据段的最大值.单位:kbytes
-f size:设置创建文件的最大值.单位:blocks
-l size:设置在内存中锁定进程的最大值.单位:kbytes
-m size:设置可以使用的常驻内存的最大值.单位:kbytes
-n size:设置内核可以同时打开的文件描述符的最大值.单位:n
-p size:设置管道缓冲区的最大值.单位:kbytes
-s size:设置堆栈的最大值.单位:kbytes
-t size:设置CPU使用时间的最大上限.单位:seconds
-v size:设置虚拟内存的最大值.单位:kbytes

你可以直接用ulimit -u 200来限制进程最高可以到200或直接修改配置文件/etc/security/limits.conf
这是你在执行一下.(){ .|.&};. 
上一篇:如何取消Linux 开机磁盘检测 --之fstab配置文件解析
下一篇:linux 技巧:使用 screen 管理你的远程会话[转载]