进程和计划任务

发布时间 2023-11-07 19:04:25作者: 打开方式不对

程序:

是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种 需求的信息化工具用于描述进程要完成的功能,是控制进程执行的指令集

什么是进程?

进程就是程序的一个副本

进程ID(Process ID,PID)号码被用来标记各个进程

UID、GID语境决定对文件系统的存取和访问权限

通常从执行进程的用户来继承

存在生命周期

都由其父进程创建

 

全生命周期:(诞生——>——死去)进程的产生,运行,消失(僵尸进程)

进程的创建:

init:第一个进程,centos7以后为systemd

进程:都由其父进程创建,fork(),父子关系,CoW:Copy On Write 写实更新,有数据写入子进程需要新的内存空间

 线程干活 进程A 公司负责下发任务 存储一些 共享的资源

进程管理的命令

ps:(查看静态的进程统计信息 process state)

1 ps  aux         #基本格式,aux   前不加”-“

2 a:显示终端上的使用进程,包括其他用户的进程

3 u:表示列出进程的用户
4 x:显示所有终端的进程
5 ps aux | wc -1
6 #结合管道符查询

USER 进程的用户
PID 进程的ID
%CPU 进程占用CPU的百分比
%MEN 进程占用内存的百分比
VSZ 进程占用的虚拟内存
RSS 进程占用的物理内存
TTY 启动进程的终端名,不是从终端启动的进程显示为?
STAT 该进程的状态
D:不可中断的休眠状态;
R:正在运行状态;
S:处于休眠状态,可被唤醒;
T:停止状态,可能是在后台暂停或进程处于跟踪调试状态;
Z: 僵尸进程,进程已经中止,但是部分程序还在内存当中 (查看僵尸进程,及时将其kill);
w 进入内存交换(从内核2.6开始无效);
X,死掉的进程;< 高优先级;
N 低优先级;
L 有些页被锁进内存;
s 包含子进程;
+ 位于后台的进程组;
l 多线程,克隆线程)
START  进程开始的时间
TIME

进程实际使用cpu运行的时间 

COMMAND 进程的启动命令 

 

top命令:动态查看进程的信息

1 -d 秒数:#指定 top 命令每隔几秒更新。默认是 3 秒;
2 -b:#使用批处理模式输出。一般和"-n"选项合用,用于把 top 命令重新定向到文件中;
3 -n 次数:#指定 top 命令执行的次数。一般和"-"选项合用;
4 -p 进程PID:#仅查看指定 ID 的进程;
5 -s:#使 top 命令在安全模式中运行,避免在交互模式中出现错误;
6 -u 用户名:#只监听某个用户的进程;

 

五行信息注释:

第一行任务队列信息 17:04:05(系统时间)up 1:44(系统已运行时长)1user(当前登录用户数)oad average: 0.00, 0.01, 0.05(系统负载,即单位时间内系统处理的任务数,后面三个数值分别为1分钟、5分钟、15分钟前到现在的平均值)(Load Average的值应该小于CPU个数核数0.7)
第二行任务队列信息 Tasks(总进程数)running(正在运行的进程数 )sleeping(休眠的进程数) stopped(中止的进程数) zombie(僵死的进程数)
第三行任务队列信息 us(用户占用)sy(内核占用)ni(优先级调度占用)id(空闲CPU,要了解空闲的CPU百分比,主要看%id 部分)wa(I/O等待占用)hi(硬件中断占用)si(软件中断占用)st(虚拟化占用)
第四行任务队列信息 total(总内存空间)free(空闲内存)used(已用内存)buff/cache(物理内存和交换内存的缓冲区总和)
第五行任务队列信息 total(总交换空间)free(空闲交换空间)used(已用交换空间)avail Mem(可用物理空间)

各行列表注释:

PID

 

进程id
USER 进程所有者的用户名
PR 优先级
NI 谦让度值。负值表示高优先级,正值表示低优先级
VIRT 进程使用的虚拟内存总量
RES 进程使用的物理内存大小
SHR 共享内存大小
S 进程状态
%CPU 上次更新到现在的CPU时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的CPU时间总计
COMMAND 命令名/命令行

补充:htop——增强版的top

 

pgrep:查看指定的进程

1 -U #指定用户
2 -l: #显示进程名
3 -a: #显示完整格式的进程名
4 -P pid #显示指定进程的子进程

 

pstree:以树形结构列出进程信息

1 -p #按时进程数 ,并显示进程号
2 -a #显示启动每个进程对应的完整指令,包括启动进程的路径、参数等
3 -u #显示用户切换
4 -H #pid 高亮显示指定进程及其前辈进程

 

lsof:列出已经打开的文件

1 -c 字符串 #只列出以字符串开头的进程打开的文件
2 +d 目录名 #列出某个目录中所有被进程调用的文件
3 -u 用户名 #只列出某个用户的进程打开的文件
4 -p pid #列出某个PID进程打开的文件

vmstat:性能监控

 free:查看内存

 (echo  3  >  /proc/sys/vm/drop_caches)——清缓存

iostat:查看磁盘的读写性能

 iftop:监控流量

 dstat:监控网络

 

计算机五大性能

内存 :free top

cpu :top ps aux

磁盘 :

大小:lsblk 剩余df

读写 :dd iostat vmstat

网络 dstat iftop lsof 

 

进程前后台的调用:

命令  +&:将前台任务放在后台运行

例:dd if=/dev/zero   of=/dev/null  &

jobs:查看后台运行的命令

fg1:把后台命令调回前台

ctrl+z:将命令调入后台并挂起

bg1:将后台被挂起的命令进行运行

 

计划任务:

at:一次性的计划任务

at [HH:MM] [yyyy-mm-dd]

[HH:MM] :小时和分钟

[yyyy-mm-dd]:年月日

例:

 crontab:周期性的计划任务

1 -e #编辑一个定时任务

2 * * * * *(分 ,时,日,月,周)(分:0-59,时(0-23),日(1-31),月(1-12
周(0-6)(0和7代表星期天)
3 -u #指定用户
4 -l #目前有哪些计划任务
5 -r #删除计划任务

格式:分时日月周  +  命令 (绝对路径)

例:每天晚上的18点55分在opt目录下复制/etc/passwd