一、 程序和进程关系
1、 程序
保存硬盘、光盘等介质中的可执行代码和数据
静态保存的代码
2、 进程
在CPU及内存运行的程序代码
动态执行的代码
父、子进程:每一个进程可以创建一个或多个进程
二、静态查看进程统计信息ps命令
1、ps aux 命令
(1)作用:以简单列表的形式显示出进程信息
(2)选项释义
a :显示当前终端下的所有进程信息,包括其他用户的进程
u:使用以用户为主的格式输出进程信息
x:显示当前用户在所有终端下的进程信息
(3)示例
下述输出信息中,第1行为列表标题,其中各字段的含义描述如下:
●USER: 启动该进程的用户账号的名称。
●PID:该进程在系统中的PID号,在当前系统中是唯一的。●%CPU: CPU占用的百分比。●%MEM:内存占用的百分比。
●VSZ:占用虚拟内存swap空间的大小。●RSS:占用常驻内存物理内存的大小。
●Tty:表明该进程在哪个终端上运行。“?”表示未知或不需要终端。
●STAT:显示了进程当前的状态: D:不可中断睡眠、S:可中断的睡眠、R:就绪或运行状态、T:中止状态、Z: 僵死状态、<:高优先级进程、N:低优先级进程、+:前台进程组中的进程、I: 多线程的进程、s:会话进程的首进程
●START:启动该进程的时间。
●TIME: 该进程占用的CPU时间
●COmMAND:启动该进程的命令的名称。
2、ps -elf 命令
(1)作用:以长格式显示系统中的进程信息,并且包含更丰富的内容
(2)选项释义
-e :显示系统内的所有进程信息
-l :使用长格式显示进程信息
-f :使用完整的格式显示进程信息
(3)示例
3、 直接使用ps使用
直接执行不带任何选项的ps命令时,将只显示当前用户会话中打开的进程
4、 查看某个进程的详细信息
(1) ps aux|grep “bash”
(2) ps -elf|grep “bash”
三、动态查看进程统计信息top命令
(1)作用:top 命令将会在当前终端以全屏交互式的界面显示进程排名,以及跟踪包括cpu、内存等系统资源占用情况,默认情况下三秒刷新一次,默认cpu占用率排序。
(2)常用选项
-d:指定刷新的间隔时间,单位秒
-b:已批量处理模式操作,一般与-n同时使用
-n:指定循环显示的次数
-u:指定用户名
-p:指定进程号
(3)各选项的使用示例
注意:当cpu占用率过高时,不应在直接执行top命令查看,可以将信息存入 一个文件内查看,以免cpu占用率过高导致崩溃。
(4)常用交互命令
P:根据cpu使用百分比大小进行排序(默认进入时即为此排序)
M:根据驻留内存大小进行排序
T:根据累计时间进行排序
k :终止一个进程
q :退出程序
r:重新安排一个进程优先级别(-20~19)
四、 查看进程信息
1、 pgrep命令
(1) 作用:根据特定条件查询PID信息(过滤进程)
(2) 常用选项
-l:显示进程名
-U:指定特定用户
-t:指定终端
(3)示例
2、 pstree命令
(1)作用:以树形结构列出进程信息(进程树)
(2)常用选项
-a:显示完整信息
-u:列出对应用户名
-p:列出对应PID号
(3)示例
五、 进程的启动方式
例子:dd if=/dev/zero of=/file bs=1M count=2048 &(后台)
nohup 命令
不挂断地运行命令
1、手工进程
(1)手工启动:用户输入命令,直接执行程序
(2)后台启动:在命令行尾加入“&”符号
(3)进程的前后台调度
Ctrl+Z:将当前进程挂起,即调入后台并停止执行
jobs命令 查看处于后台的人物列表,加-l同时显示PID号
fg命令 将后台进程恢复到前台运行,可指定任务程序号
bg命令 将后台暂停的进程调至后台运行
(4)终止进程的运行
1> Ctrl+C:中断正在执行的命令
2>kill、killall 命令
kill用于终止 指定PID号的进程
killall 用于终止指定名称的所有进程
-9 选项用于强制终止
3>pkill命令(杀死特定进程)
作用:根据特定条件终止相应的进程
常用选项:
-U:根据进程所属的用户名终止相应进程
-t:根据进程所在的终端终止相应进程
2、调度启用
(1)使用at 命令,设置一次性任务计划
1>服务脚本:/etc/init.d/atd
2>设置格式:at [HH:MM][yyyy-mm-dd] 设置当天的任务计划可不加日期
3>基本操作:
Ctrl+D 保存退出
atq 查询现有一次性任务计划
atrm[任务序号]删除第几项任务
4>示例
(2)使用crontab命令,设置周期性计划任务(分时日月周)
1>脚本名称:/etc/init.d/crond
2>主要配置文件
全局配置文件;/etc/crontab
3>管理cron计划任务
编辑:crontab -e [-u 用户名]
查看:crontab -l [-u 用户名]
清空:crontab -r [-u 用户名]
注意:-u选项只有root用户可用
4>crontab任务配置的格式
5>时间数值的特殊表示方法
*表示该范围内的任意时间
,表示间隔的多个不连续时间点
-表示一个连续的时间范围
/指定间隔的时间频率
date 命令:用于显示和设置系统日期
格式
date [选项] [+时间格式]
使用(+)号开始的参数用来指定时间格式
选项
-d,--date=字符串 显示指定字符串所描述的时间,而非当前时间
-f,--file=日期文件 类似--date,从日期文件中按行读入时间描述
-r, --reference=文件 显示文件指定文件的最后修改时间
-R, --rfc-2822 以RFC 2822格式输出日期和时间
-s, --set=字符串 设置指定字符串来分开时间
-u, --utc, --universal 输出或者设置协调的通用时间
时间格式
%Y -- 年份
%m -- 月份
%d -- 当月第几天
%t -- Tab跳格
%H -- 小时,24小时格式(0~23)
%I -- 小时,12小时格式(0~12)
%M -- 分钟(00~59)
%S -- 秒(00~59)
%j -- 今年中的第几天
%Z -- 以字符串形式输出当前时区
%z -- 以数字形式输出当前时区
ntpdate pool.ntp.org
ntpdate:同步更新互联网时间,或者NTP服务器时间
watch命令
可以将命令输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令