| Current File : //usr/man/zh_CN.UTF-8/man1/preap.1 |
'\" te
.\" Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
.TH preap 1 "2011 年 11 月 23 日" "SunOS 5.11" "用户命令"
.SH 名称
preap \- 强制僵尸进程的父进程收割僵尸进程
.SH 用法概要
.LP
.nf
\fBpreap\fR [\fB-F\fR] \fIpid\fR...
.fi
.SH 描述
.sp
.LP
僵尸进程是其退出状态尚未由其父进程收割的进程。退出状态是经由 \fBwait\fR(3C)、\fBwaitid\fR(2) 或 \fBwaitpid\fR(3C) 系统调用收割的。在正常的系统运行过程中,可能会出现僵尸进程,但通常是比较短暂的。如果父进程没有收割其部分或所有子进程的退出状态就退出,则会出现这种情况。在这种情况下,这些子进程将重新认 \fBPID 1\fR 为父。请参见 \fBinit\fR(1M),它定期收割此类进程。
.sp
.LP
不可靠的父进程无法花很长的时间退出,这样,就将僵尸进程留在了系统上。因为操作系统在进程成为僵尸进程之前几乎已毁坏了其所有组件,所以这些僵尸进程通常不会影响系统运行。不过,它们的确会消耗少量系统内存。
.sp
.LP
\fBpreap\fR 强制 \fIpid\fR 指定的进程的父代 \fBwaitid\fR(3C) \fIpid\fR(如果 \fIpid\fR 表示一个僵尸进程)。
.sp
.LP
在下列情况下,\fBpreap\fR 会尝试阻止管理员轻率地收割即将由其父进程收割的子进程:
.RS +4
.TP
.ie t \(bu
.el o
该进程是 \fBinit\fR(1M) 的子进程。
.RE
.RS +4
.TP
.ie t \(bu
.el o
父进程已停止并且可能会在再次允许它运行时拜访子进程。
.RE
.RS +4
.TP
.ie t \(bu
.el o
进程的僵死时间少于一分钟。
.RE
.SH 选项
.sp
.LP
支持以下选项:
.sp
.ne 2
.mk
.na
\fB\fB-F\fR\fR
.ad
.RS 6n
.rt
强制父进程收割子进程,不管安全检查。
.RE
.SH 操作数
.sp
.LP
支持下列操作数:
.sp
.ne 2
.mk
.na
\fB\fIpid\fR\fR
.ad
.RS 7n
.rt
进程 \fBID\fR 列表。
.RE
.SH 用法
.sp
.LP
使用 \fB-F\fR 标志时应谨慎。在一个被调试的进程上施加两个控制进程可能会导致混乱。仅当主控制进程(通常是调试器)已停止了被调试的进程,并且在应用 \fBproc\fR 工具的可疑时刻主控制进程未在执行任何操作,才能保证安全。
.SH 退出状态
.sp
.LP
输出被收割的每个目标进程的退出状态的 \fBpreap\fR 返回以下退出值:
.sp
.ne 2
.mk
.na
\fB\fB0\fR\fR
.ad
.RS 10n
.rt
操作成功。
.RE
.sp
.ne 2
.mk
.na
\fB非零\fR
.ad
.RS 10n
.rt
失败,例如没有这样的进程、权限遭拒或选项无效。
.RE
.SH 属性
.sp
.LP
有关下列属性的说明,请参见 \fBattributes\fR(5):
.sp
.sp
.TS
tab() box;
cw(2.75i) |cw(2.75i)
lw(2.75i) |lw(2.75i)
.
属性类型属性值
_
可用性system/extended-system-utilities
.TE
.SH 另请参见
.sp
.LP
\fBproc\fR(1)、\fBinit\fR(1M)、\fBwaitid\fR(2)、\fBwait\fR(3C)、\fBwaitpid\fR(3C)、\fBproc\fR(4)、\fBattributes\fR(5)
.SH 警告
.sp
.LP
应慎用 \fBpreap\fR,只有在管理员或开发人员确认僵尸进程不会由父进程进行收割时,才可使用。否则,应用 \fBpreap\fR 可能会对父进程造成不可预测的损害。