linux中的。"僵尸"进程

原创 2006年05月22日 16:57:00

"僵尸"进程是一个早已死亡的进程,但在进程表(processs table)中仍占了一个位置(slot)。由于进程表的容量是有限的,所以,defunct进程不仅占用系统的内存资源,影响系统的性能,而且如果其数目太多,还会导致系统瘫痪,以下是一个无限创建子进程的程序:

#i nclude <sys/types.h>
#i nclude <unistd.h>
main()
{
       for (;;)  /*制作一个死循环*/
      
         fork(); /*开始创建一个子进程*/

}

如果执行了以上的程序就会生成无数个子进程造成系统瘫痪。如果对普通用户进行进程限制就不会造成系统资源耗尽了。

第1步:首先进到Linux终端用vi编辑/etc/security /limits.conf文件,在里面加入:

  * hard core 0
  * hard rss 5000
  * hard nproc 20
 
  这里的* 代表除了Root的所有用户,(* hard core 0) 是禁止core files"core 0",(* hard rss 5000) 是限制内存使用为5MB"rss  5000", (* hard nproc 20 )是限制进程数为"nproc 50"。大家可以根据自己系统内存大小进行合理配置。

第2步:用vi编辑/etc/pam.d/login文件,然后加上下面这行保存退出就可以。

  session required /lib/security/pam_limits.so

    好了,现在我们已经对普通用户限制了进程和内存使用极限,修改完配置以后大家可以用Root和普通用户分别进行测试,结果当然是普通用户执行完我们刚才做的程序不会死机了。

用ps -ef|grep def命令可以查看系统中是否存在僵尸进程,如果存在就杀死,释放系统资源。

Linux的僵尸进程产生原因及解决方法

来源:http://www.blogdaren.com/post-882.html 1. 产生原因:     在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait ...
  • gb4215287
  • gb4215287
  • 2016年07月08日 00:02
  • 3037

【Linux】僵尸进程的检测,清理和避免

一.僵尸进程的产生一个进程终止的方法很多,进程终止后有些信息对于父进程和内核还是很有用的,例如进程的ID号、进程的退出状态、进程运行的CPU时间等。因此进程在终止时,回收所有内核分配给它的内存、关闭它...
  • jiange_zh
  • jiange_zh
  • 2015年12月19日 10:27
  • 2775

linux 中的守护进程和僵尸进程

守护进程(daemon)是指在UNIX或其他多任务操作系统中在后台执行的电脑程序,并不会接受电脑用户的直接操控。此类程序会被以进程的形式初始化。守护进程程序的名称通常以字母“d”结尾:例如,syslo...
  • yusiguyuan
  • yusiguyuan
  • 2013年11月29日 14:39
  • 2211

linux中的僵尸进程

  • 2012年05月21日 11:26
  • 6KB
  • 下载

Linux避免僵尸进程

  • 2013年04月28日 13:49
  • 177KB
  • 下载

如何kill杀掉linux系统中的僵尸defunct进程

在 Unix系统管理中,当用ps命令观察进程的执行状态时,经常看到某些进程的状态栏为defunct,这就是所谓的“僵尸”进程。“僵尸”进程是一个早已 死亡的进程,但在进程表(processs tabl...
  • zhangshouming
  • zhangshouming
  • 2015年03月22日 10:49
  • 4808

Linux查找并杀死僵尸进程

1、查看系统是否有僵尸进程 使用Top命令查找,当zombie前的数量不为0时,即系统内存在相应数量的僵尸进程。 2、定位僵尸进程   使用命令ps -A -ostat,ppid,pi...
  • lhl_lhl_lhl
  • lhl_lhl_lhl
  • 2015年01月07日 16:57
  • 583

说说Linux中的信号处理和僵尸进程的避免

什么僵尸进程   这里简单说一下,详细的到网上搜一下就知道了: 僵尸进程就是指子进程退出了,而父进程尚未退出,并且没有对子进程进行wait,致使子进程的资源得不到释放,依然占据在内存...
  • chang198932
  • chang198932
  • 2013年12月10日 16:03
  • 612

Linux下僵尸进程的处理

Linux下僵尸进程的处理  什么是僵尸进程  僵尸进程是指它的父进程已经退出(父进程没有等待(调用wait/waitpid)它),而该进程dead之后没有进程接受,就成为僵尸进程,也就是(zombi...
  • hardworkba
  • hardworkba
  • 2011年06月18日 00:52
  • 315

linux防僵尸进程的学习总结

僵尸进程(Zombie Process):进程已运行结束,但进程的占用的资源未被回收,这样的进程称为僵尸进程。 子进程已运行结束,父进程未调用wait或waitpid函数回收子进程的资源是子进程变为僵...
  • erlian_beijing
  • erlian_beijing
  • 2015年06月26日 11:05
  • 492
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux中的。"僵尸"进程
举报原因:
原因补充:

(最多只允许输入30个字)