进程和计划任务管理
程序和进程的关系
程序:保存在硬盘、光盘等介质中的可执行代码和数据
静态保存的代码
进程:在CPU及内存中运行的程序代码
动态执行的代码
PS:父子进程:每个程序可以创建一个或多个进程
查看进程
ps a 显示当前终端下的所有进程信息
u 显示以用户为主的格式来显示进程信息
x 显示当前用户在所有终端下的进程信息
-e 显示系统内的所有进程信息
-l 使用长格式显示进程信息
-f 使用完整格式显示进程信息
例 :ps aux
ps -elf
PID:该进程在系统中的数字ID,在当前系统中是唯一(PPID是PID的父进程),是程序被操作哦加载到内存称为今年初动态分配的字眼,
每次程序执行的时候,操作系统都会重新加载,PID在每次加载的时候都不同。
PID和PPID都是非零的证书
STAT :显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵化)、< (高优先级)、N(低优先级)、s(父进程)、+(前台进程)
查看进程动态信息
top命令将会在当前终端以全屏交互式的界面显示进程排名,及时跟踪包括cpu、内存等系统资源占用情况,默认每3s刷新一次,
作用类似于Windows 的任务管理器。
top
查看进程信息
grep -l“XXX” 输出进程名中包含XXX的进程及进程号PID
-U aaa 输出由用户aaa进行的进程及进程号pid
-t tty 输出tty1 终端上运行的进程及pid号
例:grep -l -U teacher -t tty1
查看进程树
pstree -aup
a 完整命令信息
u 列出对应用户名
p 列出其对应pid号
进程的启动方式
手工启动
前台启动:用户输入命令,直接执行程序
后台启动:在命令行尾加入“&”符号
[root ~]cp /dev/cdrom mycd.iso &
[1] 28454
[2]
进程的前后调度
Ctrl + Z组合键
将当前进程挂起,即调入后台并停止执行
Jobs命令:
查看处于后台的任务列表
fg 命令:
将后台进程恢复到前台运行,可指定任务序号
终止进程的运行
Ctrl + C 组合键
中断正在执行的命令
kill 、killall 命令
kill用于终止指定PID 号的进程
killall用于终止指定名称的所有进程
-9 选项 用于强制终止
pkill 命令
根据特定条件终止相应的进程
常用命令选项:
-U 根据进程所属的用户名终止相应进程
-t 根据进程所在的终端终止相应的进程
[root ]# pgrep -l -U “hackli”
3045 bash
[root ]# pkill -9 -U “hackli”
[root ]# pgrep -l -U “hackli” #未显示进程
计划任务管理
at 命令
一次性计划任务
at [HH:MM] [yyyy-mm-dd] 时间分钟 年月日
例: [root ]# date
Sun May 7 10:33:13 EDT 2017
[root ]# at 10:35 2017_05_07
at > pgrep -Uroot |wc -l > /tmp/ps.root
at > <EOF>
Job1 cat sun May 7 10:35
Cat /tmp/ps.root
atq 查询at任务假话
atrm [数字] 删除一次性任务计划
Crontab 命令
安装预先设置的时间周期(分钟,小时,天...)重复执行用户指定的命令操作
属于周期性计划任务
主要设置文件
全局配置文件,位于文件:/etc/crontab
系统默认的设置,位于目录:/etc/cron.*/
用户定义的设置,位于文件:/var/spool/cron/用户名
管理crontab
Crontab -e 编辑任务计划
*/ 代表每间隔的意思 [*/3表示每隔三分钟]
* 代表任意的意思
- 代表连续的意思
, 代表不连续的间隔
crontab -l 查看任务计划
Crontab -r 清空任务计划