当已标识和选择列表中的进程项目时,可以执行有关进程的下列操作:
发送 Kill 信号以终止进程或调用响应
查找"地址管理器"中关于属主的进一步信息
追踪系统调用、显示子进程或运行调试程序
显示其堆栈或祖先
如果不了解执行这些步骤中的任一步骤的意义,请与系统管理员联系。
UNIX 中的 kill 命令能让用户向进程发送信号。信号是发送给进程的信息,以中断进程并使其作出反应。如果进程被设计成对发送信号类型作出反应,则其将按设计作出反应;否则,其将中止进程。有 42 种信号定义在 信号(5)手册页。 下表列出了常用的信号编号 / 名称及其意义。
信号编号 | 信号名称 | 意义 |
---|---|---|
1 | HUP | 暂停 (常在退出系统前使用) |
2 | INT | 中断 (和终端会话中的按 Control+C 相同) |
9 | Kill |
Kill (中止而不清除) 只有进程的属主或超级用户 (根) 发出的命令才起作用 程序无法响应该信号;它必须中止 |
15 | TERM |
Kill (在清除后完美地中止) 只有进程的属主或超级用户 (根) 发出的命令才起作用 |
"杀死"菜单项目使您能发送一个"Kill" (9) 信号而迅速地中止进程。"信号"菜单项目提供您对于通过Kill(1) 命令所发送的信号的更多控制。例如,可以发送 INT 信号或 HUP 信号,等等。
只应向进程发送那些了解其意义的信号。例如,如果选择登录 shell,并发送 kill 信号,将立即退出系统。关于进程和作业控制的进一步信息,请与系统管理员联系,或参阅下列说明:
在"进程管理器"滚动窗格选择进程项。
从"进程"菜单选择"杀死"。
要有许可权,"进程管理器"可中止进程 (及其子进程) ;否则将显示出错。有时要中止进程要花几秒种。如果在下次"进程管理器"更新其显示时进程不出现,则可以说那个进程已经中止。
等同的 UNIX 命令是:
kill -9 PID 其中 PID 是选定进程的进程 ID。
通过重新定义下面文件中所标的"Kill"动作,可以重新定义"杀死"菜单项所执行的命令:
/usr/dt/appconfig/types/C/sdtprocess.dt
在"进程管理器"滚动区选择进程项。
从"进程"菜单选择"信号"。
"进程管理器"显示请求您指定信号的对话框。您必须至少提供在信号(5)手册页中定义的 42 个信号中的一个信号。
键入相关的信号编号或名称,并单击"确定"。
"进程管理器"发出信号命令,并关闭对话框。未发出成功信息。中止进程通常中止其子进程。
等同的 UNIX 命令是:kill -signum_name PID
其中 -signum_name 是信号编号或名称,而 PID 是选定进程的进程 ID。
在"进程管理器"滚动窗格选择进程项。
从"进程"菜单选择"寻找属主"。
"进程管理器"打开"地址管理器",并请求其为选定进程的系统用户姓名查找"系统卡片"。关于"地址管理器"的进一步细节,请参阅第 16 章,使用地址管理器。
等同的 UNIX 命令是:
/usr/proc/bin/ptree PID
其中 PID 是选定进程的进程 ID。
当 UNIX 进程初始化一个或多个从属的进程时,我们把这些称为子进程,或子女。子进程和父进程具有相同的用户 ID。
在"进程管理器"滚动窗格选择进程项。
从"进程"菜单选择"追踪子进程"。
"进程管理器"为选定的进程显示所有新进程 (及其子进程的新子进程,如此循环) 的创建记录。
使用在中描述的错误码名称报告各种错误返回Intro(2)手册页。
等同的 UNIX 命令是:
truss -fa -texec,fork -s*CLD,ALRM -p PID
其中 PID 是选定进程的进程 ID。
在进程的执行期间,它调用 UNIX 内核程序或执行系统调用。可能想跟踪这些系统调用,以查看其对其他进程的影响。
在"进程管理器"滚动窗格选择进程项。
从"进程"菜单选择"跟踪系统调用"。
"进程管理器"显示请求输入可选参数的对话框。
单击"确定"。
跟踪输出的每一行都用其参数和返回值来报告错误、信号名称或系统调用名称。关于进一步的信息,请参阅 truss(1)手册页。
等同的 UNIX 命令是:
truss -p PID
其中 PID 是选定进程的进程 ID。
等同的 UNIX 命令是:
/usr/proc/bin/pstack PID
其中PID 是选定进程的进程 ID。
应用程序开发者和系统管理员有时使用调试应用程序,如"Sun 工作区"来调查研究错误进程。"进程"菜单上的"调试"项目为选定的进程调用您喜欢的调试程序。
使用您喜欢的调试程序调试进程。
等同的 UNIX 命令是:
workshop -d command
其中 workshop 是调试程序的名称, command 是将进程 ID 传送给调试程序所需要的命令。