进程和计划任务

本文详细解析了程序、进程、线程的概念,探讨了内存管理、僵尸进程、进程状态、线程视图、kill命令、top命令、后台调度和计划任务管理,以及如何查看操作系统五大性能指标。
摘要由CSDN通过智能技术生成

一、程序

1.1什么是程序?

是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具

用于描述进程要完成的功能,是控制进程执行的指令集

二、进程

2.1什么是进程?

运行中的程序的一个副本,是被载入内存的一个指令集合,是资源分配的单位

  1. 硬件资源分配的最小单位
  2. 进程ID(Process ID,PID)号码被用来标记各个进程
  3. UID、GID语境决定对文件系统的存取和访问权限
  4. 通常从执行进程的用户来继承
  5. 存在生命周期
  6. 都由其父进程创建

2.2进程的基本状态

2.3进程具有的特征

 动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态消亡的;

 并发性:任何进程都可以同其他进程一起并发执行;

 独立性:进程是系统进行资源分配和调度的一个独立单位;

 结构性:进程由程序、数据和进程控制块三部

2.4进程使用内存的问题

内存泄漏

内存溢出

内存不足:out of meory

2.5僵尸进程

2.5.1什么是僵尸进程

进程以及中止,但是依然占用硬件资源

父进程退出 子进程没有退出 那么这些子进程就没有父进程来管理了, 就变成僵尸进程

2.5.2如何过滤僵尸进程

ps aux | grep Z

2.5.3如何解决僵尸进程

  

  

STAT为Z代表为僵尸态

三、线程

线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处理器调度和分派的基本单位。一个进程可以有一个或多个线程,各个线程之间共享程序的内存空间。

四、查看进程

4.1静态查看进程ps命令

ps   选项

常用选项功能
a显示当前终端下的所有进程信息,包括其他用户的进程
u以用户为主的格式输出进程信息
x显示当前用户在所有终端下的进程信息
-e显示系统内的所有进程信息
-l长格式显示进程信息
-f

完整的格式使用进程信息

[选项]--soft对属性排序,属性前加 - 表示降序排列

表头含义
PID进程的ID号
TTY该进程是在哪个终端运行的
TIME该进程占用 CPU 的运算时间,不是系统时间
CMD产生此进程的命令名

4.1.1显示所有进程

ps   aux   显示所有当前活动的进程的详细信息

  

表头含义
USER该进程是由哪个用户产生的
PID进程的ID
%CPU该进程占用cpu资源的百分比,百分比越高进程越耗费资源

%MEM

该进程占用物理内存的百分比,百分比越高越耗费资源
VSZ该进程占用虚拟内存的大小,单位kb
RSS该进程占用物理内存的大小,单位kb
TTY该进程是在哪个终端运行的
STAT进程状态,常见的状态有以下几种
START该进程的启动时间
TIME该进程占用 CPU 的运算时间,不是系统时间
COMMAND产生此进程的命令名

4.1.2ps   -ef

表头含义
F进程标志,表示进程的权限
S进程状态。具体的状态和"psaux"命令中的 STAT 状态一致
UID运行此进程的用户的 ID
PID进程的ID
PPID父进程的ID
C该进程的 CPU 使用率,单位是百分比
PRI进程的优先级数值越小,该进程的优先级越高,越早被 CPU 执行
NI进程的优先级,数值越小,该进程越早被执行;可以人为修改
ARRD该进程在内存的哪个位置
SZ该进程占用多大内存
WCHAN该进程是否运行。"-"代表正在运行
TTY该进程由哪个终端产生
TIME该进程占用 CPU 的运算时间,不是系统时间
CMD产生此进程的命令名

4.1.3查看进程特定属性

ps -o pid,ppid,cmd,%cpu,%mem..

后面可以跟多个参数,用逗号隔开

 ps  axo  pid(仅显示pid)

ps -eo ppid,%CPU(仅显示父进程id,CPU占用)

  

4.1.4进程排序 --soft=

ps aux --sort=cpu | head -n 7        按CPU占用率降序排序所有进程 并显示前七行

  

ps aux --sort=-pid      按pid降序排列

  

4.2动态查看进程 top命令

top   选项   参数

top -u username:显示特定用户的进程使用情况。
top -p pid:显示特定PID的进程使用情况。
top -H:显示进程的线程视图,并按线程ID(LWP)进行排序。
top -o:可以使用不同的排序字段。例如,top -o %MEM将使用内存使用率进行排序。
top -n:设置top命令的显示次数或循环次数。例如,top -n 5将top命令的输出限制为5次。
top -b:以批处理模式运行top命令,将结果输出到标准输出,适用于脚本和后续处理。
top -d:设置刷新间隔,即更新数据的时间间隔。例如,top -d 5将每隔5秒刷新一次数据。

4.2.1top命令的交互界面

在top命令的交互界面中,可以使用不同的键来执行各种操作和切换不同的视图

k:杀死选中的进程

 1:切换到全局统计视图

 m:切换内存使用视图

 t:切换到进程排序模式,可以按不同的字段排序

4.3以树状结构显示当前系统中运行的进程pstree

  

pstree -p root       显示用户root的进程和对应pid

  

五、结束进程

5.1kill

kill命令根据进程的pid,向进程发送信号终止或操作进程

kill   [信号]   PID 

常用信号

-1 重新加载进程

-9 强制结束进程

-19 暂时停止进程

-18 让进程从停止状态恢复

5.2killall

killall命令用于根据进程名终止匹配的所有进程

killall  [选项]   [信号]   进程名

选项
-u仅终止指定用户的进程
-l列出可用的信号列表
-i交互式,询问是否要杀死某个进程
-I(大i)忽略进程名的大小写

六、进程的前后台调度

6.1为什么要将命令放到后台

不影响前台命令执行

可以并行执行命令

6.2进程前后台切换

1.命令+& 放入后台

2.jobs+后台执行的命令 可以看到命令的列表 编号

3.fg+编号 把任务调回前台

4.ctrl +z 把命令放回后台 ,但命令处于停止状态、

5.bg+编号 重新开始后台任务

七、计划任务管理

7.1crontab工具

定期执行脚本和命令的工具,可以按照指定的时间表安排执行命令,不需要手动操作。

格式 :crontab   [选项]   [file]

选项功能
-u用来设定某个用户的 crontab 服务
-e编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前用户的 crontab 文件。
-l显示某用户的 crontab 文件内容,如果不指定用户,则表示显示当前用户的 crontab 文件内容
-r从 /var/spool/cron 删除某用户的 crontab 文件,如果不指定用户,则默认删除当前用户的 crontab 文件。
-i在删除用户的 crontab 文件时,给确认提示

crontab -e    创建或编辑当前用户的crontab

项目含义范围
第一个*一小时里面的分钟0~59
第二个*一天里面的小时(24小时制)0~23
第三个*一个月当中的几天1~31
第四个*一年中的几个月1~12
第五个*一周中的星期几0~7(0和7都代表星期天)
特殊符号含义
*(星号)任何时间
,(逗号)不连续的时间用来隔开
-(杠)连续的时间范围
/(斜线)隔多久执行

实例

1.下午14点到晚上20点,每隔三小时执行一次

2.每天早上八点之前一个脚本

3.每小时执行一个命令并将输出保存到文件

4.1点和3点之间,每隔10分钟执行命令

八、怎么查看操作系统五大性能

操作系统五大性能

1.内存(free命令查看)

2.磁盘 磁盘剩余量 磁盘I/O读写性能(df ; lsblk ;fdisk -l

3.CPU(iostat ,vmstat

4.CPU占用率{top(实时) ps(静态)}

5..网络(iftop)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值