Unix操作系统进程关闭方法

系统 其他OS
Unix操作系统中有多种手段可以杀死这些异常的进程。在文章中,我们来讲述2种方法,分别是在本机上杀死进程和从另一个终端来杀进程。

其实在Unix操作系统中有多种手段可以杀死这些异常的进程。通常情况下,我们建议是杀进程的工作要有序的进行,尽量采取一些对操作系统影响小的方法。在这里,我们来介绍2种方法,大家一起来学习下吧。

在本机上杀死进程 

系统工程师可以直接在Unix操作系统的命令中断采用相关的命令来杀死异常进程。如可以按键盘上的DEL键、Ctrl+D键、Break键等等杀死进程。系统工程师按下这些键的任何一个,都会向系统进程发送中断信号。注意,通常情况下只有root用户才能够杀死其他拥护的进程或者系统进程;而其他用户只能够杀死自己的进程。

如现在Unix操作系统中要部署一个Oracle数据库服务器。为了管理方便,Unix操作系统工程师建立了一个Oracle用户,用来进行数据库系统的维护与管理。此时,Oracle这个用户就会运行几个进程,如tns等进程。正常情况下,Oracle用户以及root用户都可以杀死这个进程。但是如果这个系统中还有其他用户,则无法杀死这个进程。 

另外如果用户想杀的进程是shell的子进程,则还可以采用kill命令家进程的作业号的方式。如kill % 作业号等等。Shell是Unix操作系统中很好的一个交互工具,也有人把它叫做命令行界面,是Unix操作系统下最传统、历史最悠久的用户和计算机的交互截面。

系统管理员可以在这里直接输入相关的命令来执行各种各样的维护任务,包括杀死异常进程等等。其实它跟微软操作系统下的命令行界面很相似,不过也有一些差异的地方。如Unix操作系统下的shell既是用户与系统交互的界面,也是控制系统的脚本语言。这就是两者最大的差异。Shell做重要的特点就是隐藏了操作系统的底层细节,故对于工程师来说这是首选的维护系统的工具。 

其实大部分时候工程师都是在shell环境下管理进程,包括上篇文章中谈到的查看进程信息、把后台进程调到前台等等。故在本机上杀死进程也大部分是在shel环境下进行。为此系统工程师用的更多的可能还是利用kill命令来杀死shell子进程。 

从另一个终端来杀进程

有时候可能进程比较顽固,若从当前终端来杀它的话,还杀不掉。此时管理员就可以通过曲线救国的方式,从另一个终端登陆到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 进程号。对于顽固进程来说,这条命令可能会更加有用。这主要是因为这个命令使进程在接收到中断信号后,不能关闭它在使用的任何文件。正是因为有这个后遗症,故只有在采用上面那几种手段无效的情况下,才推荐使用这个终极杀手。

使用这2个方法,我们就可以关闭Unix操作系统中不友好的进程了。希望大家可以好好的学习Unix操作系统的知识。
 

【编辑推荐】

  1. 3种Unix操作系统服务作用讲解
  2. 安全Unix操作系统升级
  3. 看守好你的Unix操作系统远程网络
  4. Unix操作系统基础介绍讲解
  5. 教学Unix操作系统内核级后门
责任编辑:小霞
相关推荐

2010-04-07 13:41:23

Unix操作系统

2010-04-14 13:59:45

Unix操作系统

2010-04-16 18:19:32

Unix操作系统

2010-04-19 16:47:40

Unix操作系统

2010-04-19 09:08:20

Unix操作系统

2010-04-09 17:25:13

Unix操作系统

2010-04-14 15:58:25

Unix操作系统

2010-04-30 17:27:59

Unix操作系统

2010-04-14 16:45:15

Unix操作系统

2010-04-15 18:39:56

Unix操作系统

2010-05-07 12:45:51

2010-04-19 12:55:23

Unix操作系统

2010-04-13 12:27:44

Unix操作系统

2010-04-14 14:52:14

Unix操作系统

2010-04-15 10:45:57

2010-04-20 13:39:08

Unix操作系统

2010-04-14 18:47:22

Unix操作系统

2010-04-07 13:11:01

Unix操作系统

2010-04-15 14:40:26

Unix操作系统

2010-04-16 17:49:28

Unix操作系统
点赞
收藏

51CTO技术栈公众号