杀死Unix操作系统不服管教的进程(2)

  第二阶段:从另一个终端来杀进程。

  有时候可能进程比较顽固,若从当前终端来杀它的话,还杀不掉。此时管理员就可以通过曲线救国的方式,从另一个终端登陆到Unix操作系统,然后采用kill命令来杀死异常进程。这个主要的步骤如下。

  第一步从另一个终端登陆操作系统。通常情况下,Unix系统支持多个终端。当系统工程师发现在当前终端无法杀死某个进程的话,则不用急于通过重新启动或者强制关机等方式来杀死这些杀不掉的进程。这是下下之策。遇到这种情况,系统工程师可以从另外一个终端登陆到操作系统,然后尝试使用kill命令来杀死进程。

  第二步使用ps –u命令来查找需要杀死进程所对应的进程号或者作业号。ps 命令将活动进程的当前状态和有关的内核线程写到标准输出中。这个命令有很多参数,如-m、-l、s、u 和 v等等。注意当采用-m参数时则系统将使用额外的行显示与进程相关的线程。不带任何参数时,ps 命令将会显示关于当前工作站的信息。而使用-o参数时,ps命令检查内存或调页区域并确定进程创建时的命令名和参数是什么。如果 ps 命令不能找到该信息,存储在内核中的命令名显示在方括号中。如果想快速查找特定作业的进程信息,采用-u参数是不错的选择。如ps –u Oracle 等等。

  第三步使用kill命令杀死异常进程,如kill 26014。Kill命令就会向目标进程发送一个信号以中断这个进程。通常情况下,此时就可以杀死那些比较顽固的进程。如果在kill命令后面没有加上进程号或者作业号,则系统会采用默认的信号值15,这是一个终止命令。如果此时还没有杀死这个进程的话,那么可以采用更强烈的方式,即kill -9 进程号。对于顽固进程来说,这条命令可能会更加有用。这主要是因为这个命令使进程在接收到中断信号后,不能关闭它在使用的任何文件。正是因为有这个后遗症,故只有在采用上面那几种手段无效的情况下,才推荐使用这个终极杀手。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/28716.html