进程和计划任务管理
1.查看进程
(1)程席和进程的关系
程序:
保存在硬盘、光盘等介质中的可执行代码和数据·文件中静态保存的代码。
进程:
在CPU及内存中运行的程序代码;
动态执行的代码;
父、子进程;
每个程序可以创建一个或多个进程。
(2)查看进程信息-ps
查看静态的进程统计信息
(1)ps aux
a | 显示现行终端下的所有进程,包括其它用户的进程 |
u | 显示进程的归属用户及内存的使用情况 |
x | 显示所有终端的进程 |
h | 不显示标题列 |
进程状态 | |
---|---|
D | 不可中断的休眠状态 |
S | 可被唤醒的休眠状态 |
R | 正在运行状态 |
T | 停止状态 |
Z | 僵死状态 |
(2)ps -elf
-e | 显示系统内的所有进程信息 |
-l | 使用长格式显示进程信息 |
-f | 使用完整的格式显示进程信息 |
-a | 显示现行终端下的所有进程 |
-T | 查看线程信息 |
-C <进程名称> | 显示指定进程名的信息 |
-p <进程pid> | 显示指定pid的进程的信息 |
-H | 显示树状结构,表示进程间的相互关系 |
--no-headers | 不显示标题列 |
ps -lf -T -p <PID> ###根据PID号查看进程
ps -lf -T -C <进程名称>
###根据进程名称查看进程
ps aux --sort -%cpu | head -10 ###按cpu降序排列,-为降序,+为升序,p与%同义
ps aux --sort +pmem | head -n 10 ###按内存升序排列
ps aux --sort -pcpu,+pmem | head -n 10 ###按cpu降序,内存升序排列`
(3)查看进程信息-top
查看动态的进程排名信息top
top -H -p <PID> ###显示特定进程中的线程
q键退出
(4)查看进程信息-pgrep
根据特定条件查询进程 PID 信息
pgrep -l <关键词> -U <用户名> -t <终端>
(5)查看进程树pstree
以树形结构列出进程信息
pstree -aup [用户名]
-a:显示完整信息
-u:列出对应用户名
-p:列出对应PID号
2.控制进程
(1)进程的启动方式
(1)运行进程:
前台运行:在命令行输入命令,直接运行
后台运行:在命令末尾追加 & 符号。
默认情况下通过追加 & 后台运行的进程会随着终端的关闭而自动退出,
可在命令开头位置添加 nohup(格式为nohup 命令 &),可实现后台运行的进程不会随着终端的关闭而自动退出
(2)进程前后台调度
ctrl + z ##将前台进程挂起暂停并调入到后台
jobs -l ##查看挂起调度到后台的进程列表和序号
fg <序号> ##将挂起到后台的进程调度到前台继续运行
使用at命令,设置一次性计划任务
使用crontab命令,设置周期性计划任务
(2)终止进程的运行-pkil
根据特定条件终止相应的进程
kill <PID>
killall <进程名>
pkill <关键词> -U <用户名> -t <终端>
-U:根据进程所属的用户名终止相应进程
-t:根据进程所在的终端终止相应进程
kill是如何杀掉进程的? 向进程发送信号的方式杀掉进程
kill 默认选项为 -15 ,发送信号 SIGTERM,表示告诉进程自行停止运行并退出,进程可以忽略
kill -9 ,发送信号 SIGKILL,表示进程要立即退出,且不能被捕捉或忽略
kill -3 ,发送信号 SIGQUIT,表示进程自行退出,并打印进程各个线程的堆栈信息,保存路径为 /proc/${pid}/cwd,文件名为 antBuilderOutput.log
kill -1 ,发送信号 SIGHUP,表示进程重新加载配置文件,不退出
Ctrl+C组合键
中断正在执行的命令
kill、killall命令
kill用于终止指定PID号的进程
killal用于终止指定名称相关的所有进程
-9选项用于强制终止
3.一次性任务设置-at
一次性计划任务
at HH:MM [yyyy-mm-dd]
--> 输入命令列表
--> ctrl + d 提交任务 -->
atq 查看没执行的任务列表和序号
--> atrm <序号> 删除指定的任务
4.crontab周期性任务设置-crontab
分 :0 ~ 59
时 :0 ~ 23
日 :1 ~ 31
月 :1 ~ 12
周 :0 ~ 7 , 0 和 7 都代表 周日
crontab -l [-u 用户] #查看计划任务列表
crontab -r [-u 用户] #清空任务列表
主要设置文件
全局配置文件,位于文件:/etc/crontab
系统默认的设置,位于目录:/etc/cron.*/
用户定义的设置,位于文件:/ar/spool/cron/用户名
管理crontab计划任务编辑计划任务
crontab ie[-u 用户名]
查看计划任务
crontab - [-u 用户名]
-u缺省时默认是针对当前用户
删除计划任务
crontab -r[-u 用户名]