Linux系统管理——进程个计划任务管理

                                  第十二章 进程个计划任务管理

一、查看和控制进程
1、查看进程
(1)ps命令
a显示当前终端下所有进程,包括其他用户的进程
u使用以用户为主的格式输出进程信息
x显示当前用户所有终端下的进程信息
-e显示系统内所有进程
-l使用长格式显示(long)
-f使用完整格式显示(full)
(2)top命令
c按CPU占用情况排序
M按内存占用情况排序
k结束进程
q退出
h帮助
(3)pgrep命令
指定进程的一部分名称进行查询
-l输出进程名
-U指定用户
-t指定终端
(4)pstree命令
输出进程的树形结构
-p:同时列出对应PID号
-u列出对应用户名
-a列出完整信息
指定用户名可只查看指定用户的进程树结构
(5)lsof
是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。
(6)iostat
主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。
iostat -d -k 2
(7)sar
是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等,sar命令有sysstat安装包安装,本文主要以CentOS 6系列x64系统为例,介绍sar命令。
②用法: sar [ 选项 ] [ <时间间隔> [ <次数> ] ]
-A:所有报告的总和
-b:显示I/O和传递速率的统计信息
-B:显示换页状态
-d:输出每一块磁盘的使用信息
-e:设置显示报告的结束时间
-f:从制定的文件读取报告
-i:设置状态信息刷新的间隔时间
-P:报告每个CPU的状态
-R:显示内存状态
–u:输出cpu使用情况和统计信息
–v:显示索引节点、文件和其他内核表的状态
-w:显示交换分区的状态
-x:显示给定进程的装
-r:报告内存利用率的统计信息

(7)进程状态
R 运行 Runnable (on run queue) 正在运行或在运行队列中等待
S 睡眠 Sleeping 休眠中, 受阻, 在等待某个条件的形成或接受到信号
 I  空闲 Idle 
Z 僵死 Zombie(a defunct process) 进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放
D 不可中断 Uninterruptible sleep (ususally IO) 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生
T 终止 Terminate 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行
P 等待交换页 
W 无驻留页 has no resident pages 没有足够的记忆体分页可分配
X 死掉的进程 
2、控制进程
(1)启动进程
①手工启动
1)前台启动:直接运行即可
2)后台启动:运行时将&符号放在最后
②调度启动:通过at及crontab命令进行
(2)改变进程运行方式
①挂起:
1)ctrl+z:挂起并停止运行
②查看:jobs
1)-l显示对应的PID号
③恢复:bg num(恢复后台运行),fg num(恢复前台运行)
(3)终止进程
kill命令:
1)需要进程PID作为参数
2)-9强行终止
killall命令
1)可通过进程名终止进程
2)-9
pkill命令 
1)可根据进程名、用户、所在终端等属性终止进程
2)-U:指定用户
3)-t:指定终端
4)-9

二、计划任务管理
1、at一次性任务设置
(1)服务:atd
(2)at 00:00 YYYY-MM-DD
(3)ctrl+d提交
(4)atq查询计划任务
(5)atrm num删除指定编号的计划任务
2、crontab周期性任务设置
(1)服务:crond
(2)配置文件和目录
/etc/crontab:系统配置文件
/etc/cron.*:系统默认设置cron任务的配置文件存放目录
/var/spool/cron:用户cron任务的配置文件存放目录
(3)使用crontab命令管理用户的计划任务
-e编辑计划任务列表
1)配置格式:分 时 日 月 周 执行命令
2)*:所有时间(每分、每日等)
3)-:连续时间范围
4):不连续的时间范围
5)/:时间间隔频率(*/3代表间隔为3
6)设置执行命令时使用绝对路径
-u:指定所管理的计划任务属于哪个用户,默认为自己,一般只有root用户有权限
-l:列表显示计划任务
-r清空某个用户的计划任务列表
(4)注意事项
定时任务规则的结尾最好加上“>/dev/null 2>&1
②不加此命令,可能有大量输出信息,时间长了产生大量文件,占用磁盘inode节点
(5)run.parts工具
执行指定目录中的所有可执行文件
(6)anacron程序
①CentOS7中由软件包cronie-anacron提供anacron程序
②配置文件:/etc/anacrontab
③默认anacron仅用于执行位于/etc/cron.daily、weekly、monthly目录下系统常规的脚本文件
④执行anacron的脚本文件为/etc/cron.hourly/0anacron,文件末尾使用/usr/sbin/anarcron -s命令顺序执行
⑤/etc/anacrontab文件语法
1)第一字段为多少天运行一次
2)第二字段表示启动任务前需要等待多少时间,以分钟计
3)表示任务在/var/spool/anacron目录中的文件名称
4)以nice命令运行run-parts工具,默认运行命令的进程优先级为0
5)表示实际执行的任务
(7)crond权限设置
root用户可以使用/etc/cron.deny文件来管理crond任务计划使用权限,只需要在里面添加用户名即可

你可能感兴趣的:(云计算,Linux)