首页 > 代码库 > Linux进程管理

Linux进程管理

前台与后台

用户输入shell命令后直接按Enter键,就会启动一个前台进程。

用户输入shell命令后,加上“&”符号再按Enter就会启动一个后台进程。此时shell可以继续运行和处理其他程序命令。

 

查看进程

1、ps命令

ps命令查看系统中运行的进程信息,其格式为:

ps [选项]                                   

常用选项:

-a           显示终端上的所有进程,包括其他用户的进程。

-u           显示面向用户的格式信息。

-x           显示没有控制终端的进程。

 

ps命令格式输出的各字段名

用户(USER)、进程号(PID)、CPU使用率(%CPU)、内存使用率(%MEM)、虚拟内存占用情况(VSZ)、物理内存占用情况(RSS)、登录的终端控制台(TTY,其中“?”表示未知)、

当前进程状态(STSAT)、进程开始时间(START)、进程运行时间(TIMS)、进程名称(COMMAND)

当前进程状态(STSAT)的几种形态

R       (TASK_RUNNING):可执行状态。

S       (TASK_INTERRUPTIBLE):可中断睡眠状态。

D       (TASK_UNINTERRUPTIBLE):不可中断睡眠状态。

T       (TASK_STOPPED or TASK_TRACED):暂停或者跟踪状态

Z       (TASK_DEAD-EXIT_ZOMBIE):退出状态,进程成为僵尸进程。

X       (TASK_DEAD-EXIT_DEAD):退出状态,进程即将被销毁。

 

结束进程

1、kill命令

kill命令使用进程号来结束指定进程的运行。其用法为:

kill [-9] 进程号                          

选项“-9”用于强行结束指定的进程,适用于结束已经“死掉”而没有能力自动结束的非正常进程。

实例:

为了查看指定进程的进程号,可以使用管道操作和grep命令相结合的方式实现。

比如查看xinetd进程对应的进程号:

ps -e|grep xinted                     

例如,输出为:

1665 ? 00:00:00 xinted          

从其输出信息中,可得知该进程的进程号为1665。若要结束改进程,则执行命令:

kill 1665                                 

 

2、killall命令

killall命令使用进程名来结束指定进程的运行。若系统存在同名的多个进程,则这些进程将全部结束运行。

kilall [-9] 进程名                      

选项“-9”用于强行结束指定进程的运行,属于非正常结束。

实例,若要结束xinetd进程的运行,则实现命令为:

kilall xinetd                            

Linux进程管理