查看进程,管理进程,杀掉进程和周期性任务

218 阅读5分钟

(学习笔记的第二十三页)

说进程只前先谈谈进程和线程有什么关系
进程其实就是线程的容器

查看静态的进程统计信息

一.
ps
方式一
ps aux
a:显示终端的所有进程,包括其他用户
u:表示列出进程的用户
x:显示所有终端的进程

各列的解释:
USER:进程的用户。
PID:进程的ID。
%CPU:进程占用的CPU百分比。
$MEM:占用内存的百分比。
VSZ:该进程使用的虚拟内存量(KB)。
RSS:该进程占用的物理内存量(KB) 。
TTY:启动进程的终端名。不是从终端启动的进程则显示为?
STPAT:该进程的状态(D:不可中断的休眠状态R:正在运行状态;S:处于休眠状态,可被唤醒;T:停止状态,可能是在后台暂停或进程处于跟踪调试状态;Z:僵尸进程,进程已经中止,但是部分程序还在内存当中)
START:i该进程被触发启动时间。
TIME:该进程实际使用cPU运行的时间。
COMMAND:进程的启动命令。

image.png

方式二
ps -elf
-e#显示系统内的所有进程信息
-l#使用长格式显示进程信息
-f#使用完整的格式显示进程信息
-a#显示所有进程pid
-T#查看线程信息

各列的解释:
F:内核分配给进程的系统标记。
S:进程的状态。
UID:启动这些进程的用户。
PID:进程的进程ID。
PPID:父进程的进程号( 如果该进程是由另一个进程启动的)。
C:进程生命周期中的CPU利用率。
PRI:进程的优先级(越大的数字代表越低的优先级)。
NI:谦让度值用来参与决定优先级。
ADDR:进程的内存地址。
SZ:假如进程被换出,所需交换空间的大致大小。
WCHAN:若该进程在睡眠,则显示睡眠中的系统函数名。
STIME:进程启动时的系统时间。
TTY:进程启动时的终端设备。
TTMF:运行进程需要的累计CPU时问。
CMD:进程的启动命令。

image.png

动态查看进程信息

Top
top常用命令:
P键:根据cPU使用百分比大小进行排序
M键:根据驻留内存大小进行排序
N键:根据启动时间进行排序
c键:切换显示命令名称和完整命令行
h键:可以获得top程序的在线帮助信息
k 键:根据提示输入指定进程的PTD号并按Fnt.er键终止对应的进程
q键:退出top程序
数字1键:显示CPU个数和状态
选项:
Top -H:显示所有线程 image.png

根据条件(进程名、用户、终端)查看进程信息

Pgrep
格式:
Pgrep -l log #进程名
Pgrep -l -U #用户名 -t #终端名
选项:
-l #显示进程名
-U #指定特定用户
-t #指定终端

以树状显示进程
pstree
pstree -aup
-a #显示完整信息
-u #列出对应用户名
-p #列出对应PID号

image.png

pstree -ap #只显示对应pid号的树状进程

image.png

控制进程

手动启动进程
前台启动  可能占用前台终端
后台启动  需要执行命令后面加&符号

挂起进程
Ctrl+z
#挂起正在执行的命令,如果你突然有事但你的这个进程不能停又不想让其他人看到可以用这个挂到后台

image.png

Jobs -l
#查看后台任务

image.png Fg
Fg 序号
#恢复后台挂起的进程到前台

image.png

终止进程

Kill和killall
格式:
Kill pid号
Killall 进程名
Kill用于终止指定pid号的进程
Killall用于终止指定名称相关的所有进程(可能会误杀慎用)

选项:
-3 #可以保存日志
-9 #用于强制终止,且不能忽略
-15 #让进程自行停止并退出

Kill和kill -9有什么区别
Kill命令会有kill不成功的现象所以才会使用kill-9
原理:
Kill -15会告诉进程你需要被关闭,请自行停止运行并退出
而kill-9会直接告诉进程必须立即退出
(立即退出会影响你的一些东西没保存会丢失数据)

Kill -15代表信号是sigtery
Kill -9代表信号是sigkill\

Pkill
#根据进程名去终止
Pkill 进程名

选项:
-U 用户
#把该用户终止

-L 终端
#把该终端终止

调度任务

一次性任务

At
At 10:00 2022-8-8
#在哪一年那一月哪一日哪一时哪一秒执行命令,如果不带年月日默认为当天
Ctrl+d
#提交任务
Atq
#查看未执行的一次性命令,并且查看不到那是需要执行的命令
Atrm 序号
#删除未执行的一次性命令

image.png

周期性任务

Crontab
#周期性循环执行命令
-e
Crontab -e -u 用户名
#编辑计划任务
-l
Crontab -l -u 用户名
#查看计划任务
-u
#指定用户

格式:
Crontab  -e #进入编辑日期和需要的命令
选项:\

  • l
    #查询任务\
  • r
    #清空任务(可以-e在里面直接删)\
  • u
    #指定用户\

时间格式:\

  *     *     *     *     *
分钟 小时 日期 月份 星期

时间数值的特殊表示方式
* 表示该范围内的任意时间
,表示间隔的多个不连续的时间范围
/ 指定间隔的时间频率

例子:

0 17 * * 1-5 周一到周五每天的17点

30 8 * * 1,3,5 每周一、三、五的8点30分

0 8-18/2 * * * 8点到18点之间每2个小时

image.png

image.png