在已经标识和选择列表中的进程项后,可以对进程执行下列操作:
发送中止信号以终止进程或调用响应
查找有关“地址管理器”中属主的更多信息
跟踪系统调用、显示子进程或运行调试程序
显示其堆栈或祖先
如果不了解执行这些步骤中的任一步骤的意义,请向系统管理员咨询。
UNIX 中的 Kill 命令使用户能够向进程发送信号。信号是发送给进程以中断进程并使其作出反应的信息。如果进程被设计为对发送给它的该类型信号作出反应,则它将作出反应;否则,该进程将终止。 下表列出了一些常用的信号编号/名称及其含义。
信号编号 | 信号名称 | 含义 |
---|---|---|
1 | HUP | 挂起(经常在退出系统前使用) |
2 | INT | 中断(与在终端会话中按 Control+C 相同) |
9 | KILL |
杀死(终止而不清除) 只有进程属主或超级用户 (root) 发出该命令时才起作用 程序无法响应该信号; 它必须终止 |
15 | TERM |
Kill(在清除后正常终止) 只有进程属主或超级用户 (root) 发出该命令时才起作用 |
“杀死”菜单项使您能够向进程发送一个“Kill” (9) 信号,从而迅速地中止该进程。“信号”菜单项使您能够对通过 kill(1) 命令发送的信号进行更多的控制。例如,可以发送 INT 信号或 HUP 信号,等等。
只应在了解向进程发送信号的意义时,才能这样做。例如,如果选择登录 Shell,并发送 kill 信号,则将立即退出系统。有关进程和作业控制的更多信息,请与系统管理员联系,或者参见 Solaris 高级用户指南 (Sun Microsystems)。
在“进程管理器”滚动窗格中选择一个进程项。
从“进程”菜单中选择“杀死”。
如果您有相应的权限,“进程管理器”将中止该进程(及其子进程);否则将显示错误。有时终止进程要花几秒种。如果某个进程在“进程管理器”下次更新其显示时未列出,则您可以断定该进程已经中止。
等效的 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。
在“进程管理器”滚动窗格中选择一个进程项。
从“进程”菜单中选择“寻找属主”。
“进程管理器”打开“地址管理器”,并请求其在“系统卡”中查找选定进程的系统用户名称。有关“地址管理器”的详细信息,请参见第 18 章,使用地址管理器。
等效的 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 Workshop”来考察错误进程。“进程”菜单上的“调试”项针对选定的进程调用您首选的调试程序。
使用您首选的调试程序调试进程。
等效的 UNIX 命令是:
workshop -d command
其中 workshop 是调试程序的名称,command 是将进程 ID 传递给调试程序所需要的命令。