进程和计划任务管理

目录

  • 前言
  • 1.程序与进程的关系
  • 2.查看进程信息ps
    • 2.1ps aux
    • 2.1ps -elf
    • 2.3 top
    • 2.4查看进程信息pgrep
    • 2.5查看进程信息pstree
  • 3.进程的启动方式
    • 3.1手工启动
    • 3.2进程的前后台调度
  • 4.终止进程的运行
    • 4.1终止进程的运行
    • 4.2终止进程的运行
  • 5.计划任务管理
    • 5.1一次性计划任务
    • 5.2计划任务管理crontab
      • 5.2.1crontab命令
      • 5.2.2计划任务管理crontab
      • 5.2.3crontab任务配置的格式
      • 5.2.4crontab任务配置的格式
  • 总结

前言

1.如何查看进程?控制进程?2.如何做任务设置?

1.程序与进程的关系

程序
保存在硬盘、光盘等介质中的可执行代码和数据静态保存的代码
进程
在CPU及内存中运行的程序代码
动态执行的代码
父、子进程
每个程序可以创建一个或多个进程

2.查看进程信息ps

2.1ps aux

ps命令
查看静态的进程统计信息
[root@localhost ~]# ps aux
方法一
常用的参数
-a:显示当前终端下的所有进程信息,包括其他用户的进程。与"x"选项结合时将显示系统中所有的进程信息。-u:使用以用户为主的格式输出进程信息。
-x:显示当前用户在所有终端下的进程信息。
常用的选项组合
ps -aux
#将以简单列表的形式显示出进程信
上述输出信息中,第一行为列表标题,其中各字段的含义描述如下。
USER:启动该进程的用户账号的名称。
PID:该进程在系统中的数字ID号,在当前系统中是唯一的。
%CPU:CPU占用的百分比。
%MEM:内存占用的百分比。
VSz:该进程使用的虚拟内存量(KB)。
RSS:该进程占用的物理内存量(KB)。
TTY:表明该进程在哪个终端上运行。不是从终端启动的进程则显示为?。
STAT:该进程的状态(D:不可中断的休眠状态:R:正在运行状态;s:处于休眠状态,可被唤醒;T:停止状态,可能是在后台暂停或进程处于跟踪调试状态:Z:僵尸进程,进程已经中止,但是部分程序还在内存当中)
进程和计划任务管理_第1张图片

它们含意如下
<:表示进程运行在高优先级上
N:表示进程运行在低优先级上
L:表示进程有页面锁定在内存中
s:表示进程是控制进程
l:表示进程是多线程的
+:表示当前进程运行在前台
D:系统守护进程
T:调式、程序执行一般停止

START:启动该进程的时间。
TIME:该进程占用的 CPU时间。
COMMAND:启动该进程的命令的名称。
僵尸进程:
一个进程结束了,但是如果该进程的父进程已经先结束了,那么该进程就不会变成僵尸进程,因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程,看有没有哪个进程是刚刚结束的这个进程的子进程,如果是的话,就由Init来接管它,成为它的父进程,子进程退出后init会回收其占用的相关资源。但是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵厂进程。

进程和计划任务管理_第2张图片

2.1ps -elf

ps命令
查看静态的进程统计信息
[root@localhost ~]#ps -elf
ps -elf #将以长格式显示系统中的进程信息

-e:显示系统内的所有进程信息。
-1:使用长格式显示进程信息。
-f:使用完整的格式显示进程信息。.

各列的解释:
F:内核分配给进程的系统标记。
S:进程的状态。
UID:启动这些进程的用户。
PID: 进程的进程ID.
PPID:父进程的进程号(如果该进程是由另一“个进程启动的)
C:进程生命周期中的CPU利用率。
PRI:进程的优先级(越大的数字代表越低的优先级)。
NI: 谦让度值用来参与决定优先级。
ADDR:进程的内存地址。
SZ:假如进程被换出,所需交换空间的大致大小。
WCHAN:若该进程在睡眠,则显示睡眠中的系统函数名。
STIME:进程启动时的系统时间。
TTY:进程启动时的终端设备。 pts/0255代表虚拟终端,一般是远程连接的终端;tty1tty7 代表本地控制台终端
TIME:运行进程需要的累计CPU时间。
CMD:进程的启动命令。
进程和计划任务管理_第3张图片

2.3 top

top命令
查看动态的进程排名信息
[root@localhost ~]# top
上述输出信息中,开头的部分显示了系统任务(Tasks)、cPO占用、内存占用(Nem)、交换空间(Swap)等汇总信息,汇总信息下方依次显示当前进程的排名情况。相关信息的含义表述如下。
1)系统任务(Tasks)信息:total,总进程数; running,正在运行的进程数;sleeping,休眠的进程数;stopped,中止的进程数;zombie,僵死无响应的进程数。
2)CPU占用信息: us,用户占用;sy,内核占用; ni,优先级调度占用; id,空闲CPU; wa,I/0等待占用; hi,硬件中断占用;si,软件中断占用;st,虚拟化占用。要了解空闲的 CPU百分比,主要看%id部分。
3)内存占用(Mem)信息: total,总内存空间;free,空闲内存;used,已用内存; buff/cache,物理内存和交换内存的缓冲区总和。
4)交换空间(Swap〉占用: total,总交换空间; free,空闲交换空间;used,已用交换空间; avail Mem,可用物理空间。
top 命令全屏操作界面快捷键:
默认3s刷新一次,按s 修改刷新时间按空格:立即刷新。
P:按CPU排序
M:按内存排序T:按时间排序
p:进程IP,查看某个进程状态N键根据启动时间进行排序
数字键1:显示每个内核的CPU使用率u/U:指定显示的用户
h :可以获得top程序的在线帮助信息
q:键可以正常地退出top程序

注:若通过 top 排名工具发现某个进程 CPU 占用率非常高,需要终止该进程的运行,可以在 top 操作界面中按 k 键,然后在列表上方将会出现“PID to signal/kill [default pid = 3180]:” 的提示信息,根据提示输入指定进程的 PID 号并按 Enter 键, 出现“Send pid 5597 signal [15/sigterm]”的二次确认的提示信息,然后按Enter 键确认即可终止对应的进程。
进程和计划任务管理_第4张图片
进程和计划任务管理_第5张图片

2.行进程信息

PID 进程 id
USER 进程所有者的用户名
PR 优先级(由内核动态调整),用户不能
NI 进程优先级。 nice 值。负值表示高优先级,正值表示低优先级,用户可以自己调整

VIRT(virtual memory usage) 虚拟内存,是进程正在使用的所有内存(ps 中标为 VSZ) VIRT:virtual memory usage 虚拟内存
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请 100m 的内存,但实际只使用了 10m,那么它会增长
100m,而不是实际的使用量

RES(resident memory usage) 是进程所使用的物理内存。实际实用内存(ps 中标为 RSS) RES:resident memory usage 常驻内存
1、进程当前使用的内存大小,但不包括 swap out
2、包含其他进程的共享
3、如果申请 100m 的内存,实际使用 10m,它只增长 10m,与 VIRT 相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小

SHR 共享内存大小,单位 kb SHR:shared memory 共享内存
1、除 M 了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR 4、swap out 后,它将会降下来

S 进程状态。
D=不可中断的睡眠状态
R=运行中或可运行S=睡眠中
T=已跟踪/已停止Z=僵停

%CPU 上次更新到现在的 CPU 时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的 CPU 时间总计,单位 1/100 秒
COMMAND 命令名/命令行

2.4查看进程信息pgrep

pgrep命令
根据特定条件查询进程PID信息
[root@localhost ~]# pgrep -l “log”
2538 rsyslogd
2113 mcelog
[root@localhost~]# pgrep -l -U teacher -t tty1
27483 bash
27584 vim
常用的参数
-l:选项可同时输出对应的进程名以及PID
-U:选项查询特定用户的进程
-t:选项查询在特定终端运行的进程
进程和计划任务管理_第6张图片

2.5查看进程信息pstree

pstree命令
以树形结构列出进程信息
[root@localhost ~]# pstree -aup
[root@localhost ~]# pstree -ap teacher
pstree 命令默认情况下只显示各进程的名称,
结合以下常用的参数使用:
-p:选项使用时可以同时列出对应的PID号
-u:选项可以列出对应的用户名
-a:选项可以列出完整的命令信息
进程和计划任务管理_第7张图片

3.进程的启动方式

3.1手工启动

手工启动
前台启动:用户输入命令,直接执行程序
后台启动:在命令行尾加入“&”符号
[root@localhost ~]# cp /dev/cdrom mycd.iso & 输出信息中包括后台任务序号、PID号
[1]28454

3.2进程的前后台调度

Ctrl+Z组合键
将当前进程挂起,即调入后台并停止执行
jobs命令
查看处于后台的任务列表
fg命令
将后台进程恢复到前台运行,可指定任务序号

4.终止进程的运行

4.1终止进程的运行

Ctrl+C组合键
中断正在执行的命令kill、killall命令
kill用于终止指定PID号的进程killall用于终止指定名称的所有进程

-9选项用于强制终止

4.2终止进程的运行

pkill命令
根据特定条件终止相应的进程
常用命令选项
-U:根据进程所属的用户名终止相应进程
-t:根据进程所在的终端终止相应进程
在这里插入图片描述
进程和计划任务管理_第8张图片

5.计划任务管理

5.1一次性计划任务

at命令
at [HH:MM] [yyyy-mm-dd]
任务设置完毕后按Ctrl+D 组合键提交
例1
[root@kgc /]# date
2021年 08月 16日 星期一 16:20:58 +00
[root@kgc /]# at 16:23 2021-08-16
at> pgrep -U root | wc -l > /tmp/ps.root //任务设置完毕后按Ctrl+D 组合键提交
at>
job 1 at Mon Aug 16 16:23:00 2021
[root@localhost ~]# cat /tmp/ps.root //等过了计划时间后验证命令结果202

例2
以下操作将设置一条计划任务,在当天的 21:30 自动关闭当前系统。
[root@localhost ~]# at 21:30
at> shutdown -h now
at>
对于已经设置但还未执行(未到时间点)的计划任务,可以通过 atq 命令进行查询。但已执行过的 at 任务将不会再出现在列表中。具体操作如下:
[root@localhost ~]# atq
2 Sun May 7 21:30:00 2017 a root
若要删除指定编号的 at 任务,可以使用 atrm 命令。删除后的 at 任务将不会被执行, 并且不会显示在 atq 命令的显示结果中,但已经执行过的任务无法删除。具体操作如下:

[root@localhost ~]# atrm 2 //删除第 2 条 at 计划任务
[root@localhost ~]# atq //确认第 2 条任务已被删除

5.2计划任务管理crontab

5.2.1crontab命令

crontab命令
按照预先设置的时间周期(分钟、小时、天…)重复执行用户指定的命令操作
属于周期性计划任务
主要设置文件
全局配置文件,位于文件:letc/crontab
系统默认的设置,位于目录:/etc/cron.*/
用户定义的设置,位于文件:/varlspool/cron/用户名

5.2.2计划任务管理crontab

编辑计划任务
crontab -e [-u 用户名]
查看计划任务
crontab -l[-u用户名]
删除计划任务
crontab -r [-u用户名]

5.2.3crontab任务配置的格式

50 3 2 1 * run_command
分钟 小时 日期 日份 星期 命令
字段 说明
分钟 取值为 0~59 的任意整数小时
小时 取值为 0~23 的任意整数
日期 取值为 1~31 的任意整数(日期在该月份中必须有效)
月份 取值为 1~12 的任意整数
星期 取值为 0~7 的任意整数,0 或 7 代表星期日
命令 可以是普通的命令,也可以是自己编写的程序脚本

5.2.4crontab任务配置的格式

时间数值的特殊表示
方法:* 表示该范围内的任意时间
,表示间隔的多个不连续时间点
-表示一个连续的时间范围
/指定间隔的时间频率应用示例
应用示例
0 17 * * 1-5 周一到周五每天17:00
30 8* * 1,3,5 每周一、三、五的8点30分
0 8-18/2 * * * 8点到18点之间每2小时
0 * * / 3* * 每3天
在这里插入图片描述
进程和计划任务管理_第9张图片

进程和计划任务管理_第10张图片
进程和计划任务管理_第11张图片

总结

1.查看进程的命令(ps、top.pgrep.pstree)
2.进程控制
启动进程、调度进程、终止进程
3.at命令设置计划任务
4.crontab计划任务的配置字段

你可能感兴趣的:(Linux,linux)