METAPHORS' BLOG
Metaphors
Oct 10, 2017
It takes 4 minutes to read this article.

Linux进程管理

本文为原创文章,转载请标明出处

目录

  • 查看进程命令 ps
  • 查看进程树命令 pstree
  • 实时显示进程命令 top
  • 查看后台任务命令 jobs
  • 后台任务调至前台命令 fg
  • 终止进程命令 kill
  • 指定进程运行优先级命令 nice
  • 改变进程优先级命令 renice
  • 计划任务命令 cron
  • 添加计划任务命令 crontab
  • 执行一次性计划任务命令 at

查看进程命令 ps

参数

a:显示所有终端进程
u:显示所有用户进程
x:显示所有进程,包括没有明确终端的进程
e:显示所有进程,与参数x类似,但使用的格式为BSD系统格式
f:显示UID、PPID(父进程ID)、C(CPU占用率)和STIME(进程启动时间)字段
l:显示进程的详细列表

运行:

# ps -ef

显示字段:

USER:运行此进程的用户名称
PID:进程ID
%CPU:进程的CPU占用率
%MEM:实际内存占用率
VSZ:进程占用虚拟内存大小,单位KB
RSS:进程占用物理内存大小,单位KB
TTY:从哪个终端启动
STAT:目前进程所处的状态属性
START:进程开始运行时间
TIME:进程占用CPU的时间总和
COMMAND:启动进程使用的命令

STAT字段进程状态标识:

D:不可中断的等待状态,通常是等待I/O设备(磁盘及网络等)的数据等
R:正处于运行队列中的进程
S:正处于中断休眠状态的进程,该进程可能是在等某个中断消息
T:已停止工作的进程,因其被跟踪所以存在
X:已经死亡的进程,通常不会看到这类进程
Z:已经僵死的进程,通常不会看到这类进程
<:高优先级进程
N:低优先级进程
s:会话的管理者
+:进程会使用前台的终端
l:多线程进程

查看进程树命令 pstree

# pstree

实时显示进程命令 top

# top

几个新字段:

PR:进程的优先级
NI:该进程的优先级值
VIRT:进程使用的虚拟内存总量
RES:进程使用的物理内存总量
SHR:进程使用的共享内存大小

按H键查看帮助信息
按P键按CPU使用率排序
按M键按内存占用率排序

查看后台任务命令 jobs

# jobs

后台任务调至前台命令 fg

# fg %[作业号]

终止进程命令 kill

命令格式

# kill -signal PID

例如:

查看信号列表
# kill -l
强制终止PID为16952的进程
# kill -9 16952

指定进程运行优先级命令 nice

命令格式

# nice [option] [command]

例如:

以优先级19运行脚本exam.sh
# nice -n 19 ./exam.sh &

改变进程优先级命令 renice

命令格式

# renice -n PID

例如:

改变PID为15478进程的优先级为5
# renice -5 15478

添加计划任务命令 crontab

计划任务格式 cron

# * * * * * command

第一个*:分钟1~59
第二个*:小时0~23
第三个*:日期1~31
第四个*:月份1~12
第五个*:星期0~6

-:表示一个范围
*:表示每个单位时间
,:表示一个列表
#:表示行注释
/:表示一个分隔时间段

例如:

每周星期六、星期日的19点到24点,每隔15分钟运行脚本/file/net_tj.sh
# */15 19-24 * * 6,0 /file/net_tj.sh

crontab 参数

u:指定要操作的系统任务
e:编辑计划任务
r:删除计划任务
l:查看已经存在的计划任务

执行一次性计划任务命令 at

命令格式

# at [option] [time command]

参数

f:指定一个文件作为任务脚本
m:完成任务之后给用户发送一个邮件
l:列出计划任务列表
d:删除指定的计划任务

例如:

添加一个5小时后执行脚本/root/exam.sh的任务
# at now +5 hour -f /root/exam.sh

如有不当之处,请予指正,谢谢~


>