linux中的。"僵尸"进程
2006-05-22 16:57
337 查看
"僵尸"进程是一个早已死亡的进程,但在进程表(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命令可以查看系统中是否存在僵尸进程,如果存在就杀死,释放系统资源。
#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信号学习
- Linux进程理解与实践(二)僵尸&孤儿进程 和文件共享
- "linux ps -mH" 查看进程正在运行的线程
- Linux下fork()&vfork()的区别、getenv()&setenv()函数以及僵尸进程、孤儿进程讲解
- window下查看1099端口被哪个进程占用的命令(window下命令也类似linux啊,netstat -aon|findstr "1099)
- Linux进程理解与实践(二)僵尸&孤儿进程 和文件共享
- Linux寻找和杀掉僵尸进程
- linux进程后台运行的几种方法 - nohup/setsid/&
- linux下"="号与"=="号
- linux_wait()与僵尸进程
- linux僵尸进程产生的原因以及如何避免产生僵尸进程
- 关于linux 僵尸进程
- linux下wine安装成功后运行不了 err:process:init_windows_dirs directory L"C://windows
- [centos] Linux下"Device eth0 does not seem to be present,delaying initialization."问题解决方法.
- Linux进程前后台管理(&,fg, bg)
- Linux USB "On-The-Go"(OTG) on OMAP H2 软件架构分析(三)
- Linux -- 进程管理之僵尸进程
- linux下的"LoadLibrary & GetProcAddress"
- linux中的set命令: "set -e" 与 "set -o pipefail"
- Linux 下 Makefile 的 automake 生成举例 "hello world"