进程、线程;僵尸/孤儿进程

来源:互联网 发布:关于网络暴力的新闻 编辑:程序博客网 时间:2024/06/05 10:46

程序是包含可执行代码的文件,是个静态的文件

进程是开始执行但是还没有结束的程序的实例,就是可执行文件的实例。是资源分配的基本单位,

概念:使程序能并发运行,并且对并发运行的程序加以描述和控制

目的:提高资源利用率和系统吞吐量

特征:动态性、独立性、异步性、并发性

线程系统调度和分派的基本单位

定义:是进程的一个实体

僵尸进程当前进程运行结束后,其父进程仍在运行或仍未结束并且父进程没有调用wait来清理以结束的子进程,或者一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。

如果进程不调用wait / waitpid的话, 那么保留的那段信息就不会释放,其进程号就会一直被占用,但是系统所能使用的进程号是有限的,如果大量的产生僵死进程,将因为没有可用进程号而导致系统不能产生新的进程. 此即为僵尸进程的危害,应当避免。

孤儿进程当前进程仍在运行时其父进程运行结束了,或者一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。

孤儿进程将被init进程(进程号为1)所收养,并由内核init进程对它们完成状态收集工作,而init进程会循环地wait()它的已经退出的子进程。因此孤儿进程并不会有什么危害。

孤儿进程和僵尸进程都可能使系统不能产生新的进程,都应该避免

原创粉丝点击