在Linux中,任何运行中的程序实例都是进程。当你在执行一个程序的时候,就是创建了一个和该程序相关的进程,同一个程序可以有多个进程。

    在Linux中,任何运行中的程序实例都是进程。当你在执行一个程序的时候,就是创建了一个和该程序相关的进程,同一个程序可以有多个进程。

    进程可以分为前台进程和后台进程:

  • 前台进程:它们是运行在屏幕上的,可以接受用户输入的进程。如果你在命令行通过执行某个命令,创建了前台进程,那么只有等这个进程执行完,才能输入和执行下一个命令。
  • 后台进程:这些进程运行在后台,不需要接受用户的输入,例如:防火墙,Web服务等。

    我们可以用bg和fg命令来切换进程的类型。下面先看下如何用bg命令将进程切换到后台运行:

    上面通过bg命令将前台进程切换为了后台进程后,你就可以继续执行其他程序了,不会像前台进程那样阻塞在那。我们还可以用fg命令将其切换回前台进程,fg命令的格式如下:

fg jobname

    jobname是后台进程的作业名称,如下所示:

    上面通过fg banshee命令将banshee又切回了前台运行。

    接下来,我们再看下Linux中其他的,和进程管理相关的命令。

Top

    top命令可以将Linux系统中所有运行中的进程信息都显示出来,并且会根据进程的CPU和内存等资源的占用情况,对进程进行排序,资源占用越多,排的越靠前。还能每隔一段时间就根据资源占用情况刷新进程列表,如下所示:

    可以按'q'键来退出top命令。以下是进程信息中各列的含义(下表中的示例1和示例2,分别对应上图中第一行和第二行的数据):

 列名   列描述   示例1   示例2 
 PID  进程ID(进程在内核中的唯一标识)  1525  961
 USER   进程所属用户的用户名  home  root
 PR  进程在内核中的优先级,最高20,最低-20  20  20
 NI  进程的nice值,可以由用户设置,以调整进程的优先级   0  0
 VIRT  进程所使用的虚拟内存(默认单位是KB,如果数字后面跟随m表示MB,跟随g表示GB)   1775m   75972 
 RES  进程所使用的物理内存(单位参考VIRT列)  100m  51m
 SHR  进程所使用的共享内存(单位参考VIRT列)  28m  7952
 S

 进程状态:

  • 'D':不可中断睡眠状态
  • 'R':正在运行中
  • 'S':可中断的睡眠状态
  • 'T':暂停状态或追踪状态
  • 'Z':退出状态,成为僵尸进程
 S  R
 %CPU   CPU占用百分比  1.7  1.0
 %MEM   物理内存占用百分比  10.0  5.1
 TIME+  累计使用的CPU时间  5:05.34  2:23.42 
 COMMAND   命令名(执行的程序名)  Photoshop.exe   Xorg

PS

    ps命令类似于top命令,也可以将Linux中所有运行中的进程信息都显示出来。只不过它不会去定时刷新列表,它只显示一次信息就结束了,而且显示的进行信息列也有所不同。

    我们可以通过ps ux命令,将当前用户所拥有的进程信息都显示出来:

ps ux

    上面通过ps ux命令将当前home用户所拥有的进程的信息都显示了出来,如果当前用户是root,那么ps ux就会将所有root的进程都显示出来。

    你也可以通过以下命令格式,来查看单个进程的状态信息:

ps PID

    上面的PID表示进程的ID,如下所示:

Kill

    kill命令可以终止某个运行中的进程。要使用该命令终止进程,你需要先知道进程的ID,命令格式如下:

kill PID

    要查看某个进程的ID,可以使用pidof命令:

pidof Process name

    pidof后面直接跟随需要查找的进程名即可,如下所示:

    上面先通过pidof查找到Photoshop.exe进程的进程ID是1525,接着就可以用kill命令根据该进程ID,将此进程给终止掉了。

Nice

    之前我们在top命令中,看到每个进程都有一个nice值,用户可以通过调整这个值,来调整进程的优先级。nice值越低,进程的优先级越高,进程就能分配到更多的CPU资源。

    nice值的范围是-20到+19,其中-20的优先级最高,+19的优先级最低,0是进程的默认值。

    如果你想以某个特定的nice值来启动进程的话,可以使用以下命令格式:

nice -n 'Nice value' process name

    nice命令的-n参数后面跟随需要设置的nice值,再跟随一个需要启动的程序名即可:

    如果要修改正在运行中的进程的nice值,可以使用'renice'命令,命令格式如下:

renice 'Nice value' -p 'PID'

    只需通过-p参数指定需要调整的进程的进程ID即可,如下所示:

 

上下篇

下一篇: Linux中的VI文本编辑器

上一篇: Linux中的ssh,ping,ftp,telnet远程登录及通信相关的命令

相关文章

Linux中的shell脚本

Linux中使用quotacheck命令:扫描文件系统并建立Quota记录文件

Linux系统中的logrotate命令用法详解:进行日志转储

Linux系统中的日志轮替(日志转储)及logrotate配置文件分析

Linux中的crontab命令:循环执行定时任务(详解版)

Linux的LVM逻辑卷管理机制(硬盘分区管理机制)