目录
子进程
在计算机领域中,子进程為由另外一個进程(对应称之为父进程)所创建的进程。子进程继承了父进程的大部分属性,例如文件描述符。.
查看 父进程和子进程
孤儿进程
在操作系统领域中,孤儿进程指的是在其父进程执行完成或被后仍继续运行的一类进程。.
查看 父进程和孤儿进程
僵尸进程
在类UNIX系统中,僵尸进程是指完成执行(通过exit系统调用,或运行时发生致命错误或收到终止信号所致)但在操作系统的进程表中仍然有一个表项(进程控制块PCB),处于""的进程。这发生于子进程需要保留表项以允许其父进程读取子进程的exit status:一旦退出态通过wait系统调用读取,僵尸进程条目就从进程表中删除,称之为"回收(reaped)"。正常情况下,进程直接被其父进程wait并由系统回收。进程长时间保持僵尸状态一般是错误的并导致。 英文术语zombie process源自喪屍 — 不死之人,隐喻子进程已死但仍然没有被收割。与正常进程不同,kill命令对僵尸进程无效。孤儿进程不同于僵尸进程,其父进程已经死掉,但孤儿进程仍能正常执行,但并不会变为僵尸进程,因为被init(进程ID号为1)收养并wait其退出。 子进程死后,系统会发送SIGCHLD 信号给父进程,父进程对其默认处理是忽略。如果想响应这个消息,父进程通常在SIGCHLD 信号事件处理程序中,使用wait系统调用来响应子进程的终止。 僵尸进程被收割后,其进程号(PID)与在进程表中的表项都可以被系统重用。但如果父进程没有调用wait,僵尸进程将保留进程表中的表项,导致了。某些情况下这反倒是期望的:父进程创建了另外一个子进程,并希望具有不同的进程号。如果父进程通过设置事件处理函数为SIG_IGN显式忽略SIGCHLD信号,而不是隐式默认忽略该信号,或者具有SA_NOCLDWAIT标志,所有子进程的退出状态信息将被抛弃并且直接被系统回收。 UNIX命令ps列出的进程的状态("STAT")栏标示为 "Z"则为僵尸进程。 收割僵尸进程的方法是通过kill命令手工向其父进程发送SIGCHLD信号。如果其父进程仍然拒绝收割僵尸进程,则终止父进程,使得init进程收养僵尸进程。init进程周期执行wait系统调用收割其收养的所有僵尸进程。 为避免产生僵尸进程,实际应用中一般采取的方式是:.
查看 父进程和僵尸进程
Cd (命令)
cd,有时也写作chdir(change directory,改变目录),是在Unix、Windows和DOS操作系统下用于改变工作目录的命令行命令。在Unix的外壳脚本与Windows或DOS的批处理文件中亦可使用。CHDIR()还是Visual Basic改变工作目录的一个函数。.
查看 父进程和Cd (命令)
用户ID
户ID(user identifier,一般缩写为User ID或UID),全称用户标识符,在类UNIX系统中是内核用来辨识用户的一个无符号整型数值,亦是UNIX文件系统与进程的必要组成部分之一。.
查看 父进程和用户ID
Exit (命令)
exit是一个在许多操作系统命令行殼層和脚本语言中含有的命令。此命令导致shell或程序终止。如果在交互式命令shell中执行,将会注销用户的当前会话,及/或断开用户当前的控制台或終端连接。通常可以指定一个可选的退出码,其为一个简单的整数值,随后会被返回到父进程。提供该命令的脚本语言包括sh、ksh、Perl、AWK、PHP、TCL及其他。.
超级用户
超级用户()在计算机操作系统领域中指一种用于进行系统管理的特殊用户,其在系统中的实际名称也因系统而异,如root、administrator与supervisor。 为了使病毒、恶意软件与普通的用户错误不对整个系统产生不利的影响,在系统里日常任务都是由无法进行全系统变更的普通用户账户所完成。在组织机构中,管理权限一般都预留给经验丰富的授权人士使用。.
查看 父进程和超级用户
轻量级进程
在计算机操作系统中,轻量级进程(Light-weight process,LWP)是一种实现多任务的方法。与普通进程相比,LWP与其他进程共享所有(或大部分)它的逻辑地址空间和系统资源;与线程相比,LWP有它自己的进程标识符,并和其他进程有着父子关系;这是和类Unix操作系统的系统调用vfork()生成的进程一样的。另外,线程既可由应用程序管理,又可由内核管理,而LWP只能由内核管理并像普通进程一样被调度。Linux内核是支持LWP的典型例子。 在大多数系统中,LWP与普通进程的区别也在于它只有一个最小的执行上下文和调度程序所需的统计信息,而这也是它之所以被称为轻量级的原因。一般来说,一个进程代表程序的一个实例,而LWP代表程序的执行线程(其实,在内核不支持线程的时候,LWP可以很方便地提供线程的实现)。因为一个执行线程不像进程那样需要那么多状态信息,所以LWP也不带有这样的信息。 因为LWP之间共享它们的大部分资源,所以它在某些应用程序就不适用了;这个时候就要使用多个普通的进程了。例如,为了避免内存泄漏(a process can be replaced by another one)和实现特权分隔(processes can run under other credentials and have other permissions)。 使用多个进程也使得应用程序在出现进程池内的进程崩溃或被攻击的情况下变得更加健壮。.
查看 父进程和轻量级进程
进程ID
在计算机领域,进程标识符(process identifier,又略称为进程ID(process ID)、PID)是大多数操作系统的内核用于唯一标识进程的一个数值。这一数值可以作为许多函数调用的参数,以使调整进程优先级、杀死进程之类的进程控制行为成为可能。.
查看 父进程和进程ID
退出状态
退出状态(Exit status,别称Return Code,亦译为“返回码”)在计算机领域中指一个子进程(或被调用方)运行结束时向其父进程(或调用方)返回的一个相对小的值。在DOS中,这个值被称作errorlevel。 当计算机程序执行时,操作系统会创建一个(通称进程)以便对程序进行控制与维护;而在多任务系统(如Unix和Linux)中,新进程可由当前活动进程创建,在这种情况下被创建的新进程即为子进程,对应的创建之的进程亦称父进程,且父子进程是并发执行的,因而可以产生子进程这种方式在父进程不需停止执行的前提下委派一部分任务给子进程;而当子进程执行完毕时,子进程会调用来终止运行,而exit调用会产生退出状态码并将返回予父进程,父进程则以系统调用wait来获取该数值。 Category:进程.
查看 父进程和退出状态
Fork (系统调用)
在计算机领域中,尤其是Unix及类Unix系统操作系统中,fork是一种创建自身行程副本的操作。它通常是内核实现的一种系统调用。Fork是类Unix操作系统上创建进程的一种主要方法,甚至历史上是唯一方法。.
Wait (Unix)
wait(意指“等待”)为类UNIX操作系统系统调用。.