进程与计划任务管理

进程与计划任务管理

一、查看进程(PID)

1、静态查看进程统计信息

【1】命令:ps aux |wc -l(显示行数)
【2】参数含义(Unix选项继承过来的,不能加“-”)
(1)a当前终端下所有进程信息,包括其他用户进程
(2)u使用以用户为主的格式输出进程信息
(3)x显示当前用户在所有终端下的进程信息
【3】命令:ps -elf
【4】参数含义(Linux自主研发的,必须加“-”)
(1)-e显示系统内的所有进程的信息
(2)-l使用长格式显示进程信息
(3)-f使用完整的full格式显示进程信息
【5】grep结合管道符号
(1)原因:由于系统中运行的进程数量较多,需要查询某一个进程的信息时可以结合管道符号和grep命令进行过滤。
(2)命令模型:ps aux |grep “bash”

2、动态查看进程统计信息(top)

【1】top命令会在当前终端以全屏交互式的界面显示进程排名,及时跟踪包括CPU、内存等系统资源占用情况,默认情况下每三秒刷新一次。
【2】在top界面
排序:按“P”以CPU最高到底排序,“M”以内存从大到小排序
主要参数:2users表示2个用户,load average(平均负载):1分钟、5分钟、15分钟

二、查看进程

1、查看进程信息pgrep

【1】用途
根据特定条件查询进程PID信息
【2】常用选项
(1)-l:显示进程名
(2)-U:指定特定用户
(3)-t:指定终端
【3】举例说明

Pgrep -l “log”显示“log”的进程
Pgrep -l -U teacher -t tty1显示teacher用户,tty1终端的进程号

2、查看树形结构的进程信息(pstree)

【1】常用参数
(1)-a:显示完整信息
(2)-u:列出对应用户名
(3)-p:列出对应PID
【2】举例说明

pstree -aup
Pstree -apu tom

三、启动进程的方式

1、手动启动

【1】前台启动

用户输入命令,直接执行程序

vim aa.txt
【2】后台启动

在命令行尾加入“&”符号,在运行这个程序的同时还干其他的事。

cp /dev/cdrom mycd.iso &(会显示进程号和任务序号)
【3】进程前后台的调度

(1)Ctrl+Z组合键:将当前进程挂起,及调入后台并停止执行
(2)Jobs命令:查看处于后台停止执行“+”最近后台运行的,“-”次近的
(3)Fg命令:将后台进程恢复到前台运行,可指定任务序号

【4】终止进程运行

(1)Ctrl+C组合键:中断正在执行的命令
(2)Kill(-9强制)命令:用于终止指定PID的进程号
(3)Killall(-9强制)l命令:用户终止指定名称的所有进程
(4)Pkill命令:根据特定条件终止相应的进程
相关参数:
-U:根据进程所属的用户终止相应的进程
-t:根据进程所在终端终止相应的进程

2、调度启动

【1】一次性任务设置(at)

(1)服务脚本名称:/etc/init.d/atd
(2)设置格式:at [HH:MM] [yyyy-mm-dd]
(3)相关命令:atq(查看未执行)atrm 2(删除第2条任务)
(4)举例说明:

at 14:55 2020-06-19
at>pgrep -U root | wc -l >/tmp/ps.root(Ctrl+D提交任务)
cat /tmp/ps.root(到规定时间查看目录文件是否存在)
110
【2】周期性任务设置(crond服务)

系统通过run-parts工具(shell脚本,可执行指定文件下的可执行文件)调用执行位于“/etc/cron.* ”中的文件。
除了run-parts工具之外还有一个捡漏程序anacron,有软件包cronie-anacron提供,配置文件/etc/anacrontab,由crond进行调用管理。

(1)其管理命令crontab

按照预先设置的时间周期(分,时,天,月,周)重复执行用户指定的命令操作,属于周期性计划,服务脚本名称/etc/init.d/crond

(2)主要设置文件

全局配置文件:/etc/crontab
系统默认的设置,位于/etc/cron.*/
用户定义的设置:/var/spool/cron/aa.txt

(3)相关参数

命令格式:时间周期设置(分,时,日,月,周) 任务内容(命令绝对路径 参数 什么操作 >放置路径一般是绝对路径)
编辑计划任务:crontab -e [-u 某个用户]
查看计划任务:crontab -l [-u 某个用户]
删除计划任务:crontab -r [-u 某个用户]

(4)时间数值的特殊表示方法
 “ * ” 表示该范围内的任意时间 (0 17 * * 1-5周一到周五每天17:00)
 “ , ” 间隔的多个不连续的时间点(30 8 * * 1,2,3 每周一、二、三的8:30)
 “ - ”  表示一个连续的时间范围(0 8-18/2 * * *  每天8点到18点之间每2小时)
 “ / ” 指定时间间隔的频率(* * */3 * * 每三天)
(5)举例说明

(每周日23:55将“/etc/passwd”文件内容复制到宿主目录中,保存为pwd.txt文件)

crontab -e -u tom(编辑)
55 23 * * 7  /bin/cp /etc/passwd /home/tom/pwd.txt
crontab -l -u tom(查看)
55 23 * * 7  /bin/cp /etc/passwd /home/tom/pwd.txt
crontab -r -u tom(删除所有任务)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章