C02S10-Linux的进程和计划任务管理

一、进程

1. 相关概念

  1. 程序:没有运行的代码,是指令和规则的集合,定义了要执行和操作的任务。
  2. 进程:正在运行的代码,是程序的执行实例。
  3. 线程:是计算机进行运算的最小单位,是进程中实际允许的单位。

2. 父进程和子进程

在操作系统中,父进程和子进程是描述进程之间创建和被创建关系。下面是父进程和子进程的具体关系:

父进程是创建另一个进程的进程。当一个进程创建一个新的进程时,它就成为了新进程的父进程。父进程可以控制子进程的创建、执行和终止,通常负责子进程的资源分配和同步。

子进程是由另一个进程(父进程)创建的进程,可以继承父进程的某些属性,如环境变量和文件描述符。子进程在创建时会复制父进程的代码和数据,但拥有自己的内存空间和执行状态。可以执行与父进程不同的任务,也可以与父进程通信和同步。

3. 进程查看命令

3.1 ps命令 – 显示进程状态

ps命令来自英文单词process的缩写,功能是显示当前系统的进程状态。使用ps命令可以查看到进程的所有信息,例如进程的号码、发起者、系统资源(处理器与内存)使用占比、运行状态等。

ps 选项

常见的选项:

选项功能
-a显示所有进程
-u显示进程的所属用户
-x显示进程详细信息
-e显示所有进程信息
-l详细展示进程信息
-f完整格式展示进程信息

进程的信息内容:

ps -auxUSER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.2 166868 11820 ?        Ss   09:14   0:01 /sbin/init splash
root           2  0.0  0.0      0     0 ?        S    09:14   0:00 [kthreadd]
  • USER:进程的所属用户。
  • PID:进程号,是进程的全局唯一标识。
  • %CPU:进程所占用的CPU资源百分比。
  • %MEM:进程所占用的内存资源百分比。
  • VSZ:进程使用的虚拟内存大小。
  • RSS:进程使用的物理内存大小。
  • TTY:进程所在的终端。
  • STAT:进程的当前状态。
    • S:休眠状态,可以中断。Ss表示进程有子进程。
    • T:停止状态。
    • D:不可中断的休眠状态。
    • Z:僵死状态。
    • I(大写的i):空闲状态。
    • <:进程的执行优先级较高。
    • N:进程的执行优先级较低。
    • l(小写的L):子进程的线程。
    • +:进程显示在前台。
  • START:进程启动的时间。
  • TIME:进程占用CPU的时间。
  • COMMAD:启动进程的命令。
ps -elfF S UID          PID    PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S root           1       0  0  80   0 - 41717 ep_pol 09:14 ?        00:00:01 /sbin/init splash
1 S root           2       0  0  80   0 -     0 kthrea 09:14 ?        00:00:00 [kthreadd]
  • F:标志位,进程的系统标记。
  • S:进程的状态。
  • UID:进程所属用户的ID。
  • PID:进程号。
  • PPID:父进程号。
  • C:进程对CPU的使用率。
  • PRI:进程的优先级。
  • NI:进程的nice值,影响进程的优先级。
  • ADDR:进程的内存地址。
  • SZ:进程使用的虚拟内存大小。
  • WCHAN:进程正在等待的内核函数或资源。
  • STIME:进程启动的时间。
  • TTY:进程所在的终端。
  • TIME:进程累计使用CPU的时间。
  • CMD:启动进程的命令。

ps -aux适用于查看进程占用的资源信息,ps -elf适用于查看进程在系统中的详细信息。

怎么查看一个进程在系统中的资源占用情况,以及占用CPU/内存过高,处理的方法?

  1. 使用ps -aux定位找到这个进程,获取PID号。
  2. 再使用ps -elf | grep PID号 查看进程的详细信息。
  3. 根据实际使用情况来处理。kill -9 PID号,强制杀死进程。

怎么删除一个僵死进程?

  1. 僵死进程占用的资源不多,可以不用删除。
  2. 僵死进程无法使用kill -9强制杀死,一定要清除就需要重启设备。

3.2 top命令 – 实时显示系统运行状态

top命令的功能是实时显示系统运行状态,包含处理器、内存、服务、进程等重要资产信息。

top [选项]

常见的选项:

选项功能
-b使用非交互模式
-n指定显示的次数

交互页面的常见操作:

1:显示所有CPU的详情。

q:退出交互式页面。

进程的信息内容:

toptop - 11:16:27 up  2:01,  2 users,  load average: 0.00, 0.00, 0.00
任务: 297 total,   1 running, 296 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3870.6 total,   1886.6 free,    860.2 used,   1123.8 buff/cache
MiB Swap:   3898.0 total,   3898.0 free,      0.0 used.   2744.7 avail Mem进程号 USER      PR  NI    VIRT    RES    SHR    %CPU  %MEM     TIME+ COMMAND1 root      20   0  166868  11820   8236 S   0.0   0.3   0:01.46 systemd2 root      20   0       0      0      0 S   0.0   0.0   0:00.02 kthreadd3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par
  • top - 11:16:27 up 2:01, 2 users, load average: 0.00, 0.00, 0.00:系统概览。

    • 11:16:27:系统当前时间。
    • up 2:01:系统已运行的时间。
    • 2 users:系统用户数量。
    • load average: 0.00, 0.00, 0.00:显示过去1分钟、5分钟和15分钟的平均负载。
  • 任务: 297 total, 1 running, 296 sleeping, 0 stopped, 0 zombie:进程详情。

    • 297 total:系统中总共有297个任务。
    • 1 running:有1个任务正在运行。
    • 296 sleeping:有296个任务处于睡眠状态。
    • 0 stopped:没有任务处于停止状态。
    • 0 zombie:没有僵尸进程。
  • %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st:CPU详情。

    • %Cpu(s): 0.0 us,用户空间占用CPU的百分比为0.0%。
    • 0.0 sy,内核空间占用CPU的百分比为0.0%。
    • 0.0 ni,改变过优先级的进程占用CPU的百分比为0.0%。
    • 100.0 id,CPU空闲的百分比为100.0%。
    • 0.0 wa,等待输入输出的CPU百分比为0.0%,也就是磁盘的读写性能。
    • 0.0 hi,硬件中断的CPU百分比为0.0%。
    • 0.0 si,软件中断的CPU百分比为0.0%。
    • 0.0 st,虚拟环境中,其他虚拟机占用的CPU百分比为0.0%。
  • MiB Mem : 3870.6 total, 1886.6 free, 860.2 used, 1123.8 buff/cache:内存详情。

    • MiB Mem : 3870.6 total,总内存为3870.6 MiB。
    • 1886.6 free,空闲内存为1886.6 MiB。
    • 860.2 used,已使用的内存为860.2 MiB。
    • 1123.8 buff/cache,用作缓冲区和缓存的内存为1123.8 MiB。
  • MiB Swap: 3898.0 total, 3898.0 free, 0.0 used. 2744.7 avail Mem:虚拟内存详情。

    • MiB Swap: 3898.0 total,总虚拟内存大小为3898.0 MiB。
    • 3898.0 free,空闲虚拟内存为3898.0 MiB。
    • 0.0 used,已使用的虚拟内存大小为0.0 MiB。
    • 2744.7 avail Mem,可用的虚拟内存大小为2744.7 MiB。
  • 进程号:进程全局的唯一标识。

  • USER:进程的所属用户。

  • PR:进程的优先级。

  • NI:nice值,用于调整进程的优先级。

  • VIRT:进程使用的虚拟内存大小。

  • RES:进程使用的常驻内存大小。

  • SHR:进程使用的共享内存大小。

  • %CPU:进程占用的CPU百分比。

  • %MEM:进程占用的内存百分比。

  • TIME+:进程占用CPU的总时间。

  • COMMAND:启动进程的命令。

3.3 pgrep命令 – 检索进程PID号

pgrep命令来自英文词组“process global regular expression print”的缩写,功能是用于检索进程PID号。

pgrep [选项] 进程名

常见的选项:

选项功能
-a显示进程的PID和详细信息
-c统计进程的数量
-f匹配进程名

3.4 jobs命令 – 显示终端后台的作业信息

jobs命令来自英文单词“job”,功能是用于显示终端后台的进程信息。

jobs [选项]

常见的选项:

选项功能
-l显示后台进程和进程号
-n显示上次查看后状态变化的进程
-r显示正在运行的进程
-s显示已经停止的进程

3.5 pstree命令 – 以树状图形式显示进程信息

pstree命令来自英文词组“display a tree of processes”的缩写,功能是用于以树状图形式显示进程信息。

pstree [选项]

常见的选项:

选项功能
-u显示进程所属用户
-p显示进程的PID

4. 系统五大负载指标

4.1 CPU

查看CPU负载的命令有:top、htop。

4.2 内存

查看内存负载的命令有:free、top。

清理内存的缓存:echo 1 > /proc/sys/vm/drop_caches

4.3 磁盘

查看内存负载的命令有:iostat。

4.4 网络

查看网络负载的命令有:ifconfig、iftop。

4.5 进程

查看进程负载的命令有:top、ps。

二、定时任务

1. crontab命令– 管理定时计划任务

在Linux系统中,cron是负责执行定时任务的服务。它使用crontab命令来管理定时任务,每个用户都有一个对应的 crontab 文件,允许该用户设置定时任务。

crontab [选项]

常见的选项:

选项功能
-e编辑任务
-l查看任务
-r删除任务
-u设置用户

在Ubuntu系统中,基本上第一次使用crontab命令编辑定时任务,会提示选择文本编辑器。默认是nano,可以根据习惯选择vim编辑器。如果没有提示设置,则可以使用select-editor命令,选择crontab的编辑器。

除此之外,crontab 任务的标准输出和标准错误默认情况下是发送到 /dev/null 的,这意味着不会在终端或任何地方看到输出结果。要想看到数据结构,则需要在设置定时任务时,指定标准输出和标准输入的重定向文件。

2. crontab任务基本格式

分钟 小时 日期 月份 星期 命令
  • 时间可以使用*字符表示,也就是表示任意时间。
  • 分钟:范围是0-59。
  • 小时:范围是0-23。
  • 日期:范围是1-31。、
  • 月份:范围是1-12。
  • 星期:范围是0-7,0和7都可以表示星期日。
  • 命令:定时执行的命令或脚本等。

3. 定时任务常见操作

  1. 每分钟执行一次任务。

    crontab -e* * * * * 命令
    
  2. 每个小时执行一次任务,这里是每个小时整点的时候执行任务。

    crontab -e0 * * * * 命令
    
  3. 每天执行一次任务,这里是每天的00:00时执行任务。

    crontab -e0 0 * * * 命令
    
  4. 每周执行一次任务,这里是每周星期一的00:00时执行任务。

    crontab -e0 0 * * 1 命令
    
  5. 每月执行一次任务,这里是每个月1号的00:00时执行任务。

    crontab -e0 0 1 * * 命令
    
  6. 每隔三天执行一次任务。

    crontab -e0 0 */3 * * 命令
    
    • */3:这里表示每3天。
  7. 每天的上午8点和下午3点各执行一次任务。

    crontab -e0 8,15 * * * 命令
    
    • 8,15:表示8点和15点。
  8. 每天8点到11点之间的整点时,执行指定任务。

    crontab -e0 8-11 * * * 命令
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/59320.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初始JavaEE篇——多线程(8):JUC的组件

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;JavaEE 目录 Callable接口 ReentrantLock synchronized 与 ReentrantLock的区别 信号量&#xff08;Semaphore&#xff09; CountDown…

C++ <string> 标头文件详解

目录 1. <string> 的基本介绍2. 创建和初始化字符串3. 字符串的基本操作3.1 连接字符串3.2 获取字符串长度3.3 访问和修改字符3.4 字符串比较 4. 常用字符串成员函数4.1 append()4.2 insert()4.3 erase()4.4 substr()4.5 find() 和 rfind()4.6 replace() 5. 字符串转换5.…

Java实现JWT登录认证

文章目录 什么是JWT?为什么需要令牌?如何实现?添加依赖&#xff1a;JwtUtils.java&#xff08;生成、解析Token的工具类&#xff09;jwt配置&#xff1a;登录业务逻辑&#xff1a;其他关联代码&#xff1a;测试&#xff1a; 什么是JWT? JWT&#xff08;Json Web Token&…

Meta AR 眼镜团队前负责人加入 OpenAI;visionOS 2.2 Beta 引入超宽屏投屏模式丨 RTE 开发者日报

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE&#xff08;Real-Time Engagement&#xff09;领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的数据」、「有思考的 文章 …

如何对LabVIEW软件进行性能评估?

对LabVIEW软件进行性能评估&#xff0c;可以从以下几个方面着手&#xff0c;通过定量与定性分析&#xff0c;全面了解软件在实际应用中的表现。这些评估方法适用于确保LabVIEW程序的运行效率、稳定性和可维护性。 一、响应时间和执行效率 时间戳测量&#xff1a;使用LabVIEW的时…

鸢尾博客项目开源

1.博客介绍 鸢尾博客是一个基于Spring BootVue3 TypeScript ViteJavaFx的客户端和服务器端的博客系统。项目采用前端与后端分离&#xff0c;支持移动端自适应&#xff0c;配有完备的前台和后台管理功能。后端使用Sa-Token进行权限管理,支持动态菜单权限&#xff0c;服务健康…

mysql中InnoDB索引与MyISAM索引

mysql索引 InnoDB 索引存储 主键索引&#xff08;聚簇索引&#xff09; 定义&#xff1a;主键索引是 InnoDB 存储引擎的聚簇索引&#xff0c;它决定了表中数据的物理存储顺序。每个 InnoDB 表都有一个且仅有一个聚簇索引。存储&#xff1a;主键索引的叶子节点直接包含表的数…

淘宝有哪些API是用来获取商品列表的?(商品id列表)

淘宝商品详情接口item_get是通过商品id或者商品链接来获取商品详情数据的&#xff0c;但是不少客户是没有商品id的&#xff0c;这时需要通过接口来拿到商品id。 可以获取商品id的API有&#xff1a; item_search 通过关键字搜索商品列表 item_search_shop 获取店铺所有商品列…

拾光云影 3.3.0 | 高清秒播电视直播,支持IPV4,几千频道

拾光云影是一款Ipv4通用版电视直播APP&#xff0c;界面熟悉但有所改进&#xff0c;操作布局类似TVbox。新增了功能按钮页&#xff0c;提供更多功能。频道清晰&#xff0c;加载速度快&#xff0c;支持港澳台等特殊频道&#xff0c;大部分频道均可秒播。软件内置了直播接口&#…

【HTML】——VSCode 基本使用入门和常见操作

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 目录 零&#xff1a;HTML开发工具VSCode的使用 1&#xff1a;创建项目 2&#xff1a;创建格式模板&#x…

Redis数据库测试和缓存穿透、雪崩、击穿

Redis数据库测试实验 实验要求 1.新建一张user表&#xff0c;在表内插入10000条数据。 2.①通过jdbc查询这10000条数据&#xff0c;记录查询时间。 ②通过redis查询这10000条数据&#xff0c;记录查询时间。 3.①再次查询这一万条数据&#xff0c;要求根据年龄进行排序&#…

Pyecharts使用本地文件绘制美国地图

访问我的github仓库outer_resources中的USA.json文件: big_data_analysis/outer_resources/USA.json at main Just-A-Freshman/big_data_analysis 保存到当前目录下; 随后运行代码: from pyecharts import options as opts from pyecharts.charts import Map from pyechar…

学习党的二十大精神,推动科技创新和发展

党的二十大提出了“创新是引领发展的第一动力”的重要思想&#xff0c;这也是我一直以来坚持的理念。在工作中&#xff0c;注重培养自己的创新精神和实践能力&#xff0c;不断探索前沿科技&#xff0c;提高自己的工作能力和科技创新水平。 网络安全建设是保障国家能源安全、提升…

LaTeX 中如何实现空格、空行与换行

诸神缄默不语-个人CSDN博文目录 在 LaTeX 中&#xff0c;空格和换行的处理方式与普通文本编辑器不同。本文将详细讲解 LaTeX 中如何插入空格、空行和换行&#xff0c;帮助大家更灵活地排版。 文章目录 1. 空格特殊空格符号使用 \hspace 插入水平空格使用 \quad 和 \qquad 2. 空…

zabbix 7.0 安装(服务器、前端、代理等)

https://www.zabbix.com/download 使用上面的地址&#xff0c;按教程执行命令安装

andrular输入框input监听值传递

效果图&#xff1a; step1: E:\projectgood\ajnine\untitled4\src\app\apple\apple.component.html <button mat-button (click)“openDialog()”>Open dialog step2: E:\projectgood\ajnine\untitled4\src\app\apple\apple.component.ts import {Component, inject}…

考公人数攀升?地信、测绘、地质、遥感等专业,能报考哪些单位

近年来&#xff0c;考公人数持续飙升&#xff0c;国考报名人数更逐年攀升。2025年国家公务员考试共有341.6万人通过资格审查&#xff0c;报录比达86:1。国考报名人数再创新高。 国家公务员考试时间安排 地理学相关岗位分析 地信属于地理科学类&#xff0c;测绘类中不包括地信&…

Git操作命令

Git操作命令 1、删除未加入git的文件 1、删除未加入git的文件 D:\Idea_Workspace\rightcloud-v397\rightcloud-schedule>git clean -f -d -n Would remove src/main/java/cn/com/cloudstar/rightcloud/schedule/system/task/push/S.java Would remove src/main/java/cn/com…

如何设置定时关闭或启动整个docker而不是某个容器

如果你想定时关闭和启动整个Docker服务&#xff0c;而不是单个容器&#xff0c;可以使用系统级别的定时任务&#xff08;如Cron&#xff09;来实现。以下是如何操作的具体步骤&#xff1a; 使用Cron来定时关闭和启动Docker服务 打开Cron表: 打开终端。输入 crontab -e 编辑当前…

Pr 视频效果:超级键

视频效果/键控/超级键 Keying/Ultra Key 超级键 Ultra Key效果是 Premiere Pro 中功能强大的抠像工具&#xff0c;主要用于绿幕/蓝幕抠像。通过选择要抠除的颜色&#xff08;通常是绿幕或蓝幕的颜色&#xff09;&#xff0c;即可以将该颜色的像素设为透明&#xff0c;实现主体与…