进程和计划任务以及步骤

进程

进程和程序有关,把该文件放到内存里,进程是动态的,不同时刻的状态不一样

内存:放置正在运行的程序和所需数据的位置

程序启动 ——》将相关文件和数据放到内存里 ——》进程(processes)

进程相关命令

命令

说明

ps

查询系统当前的静态进程信息

ps:processes statistic

ps a

(BSD风格)

显示所有进程信息

ps au

(BSD风格)

以用户为主显示进程信息

ps aux

(BSD风格)

显示当前用户在所有终端下所有进程信息

ps -elf

列出系统上所有进程的详细信息

top

动态查看系统的实时状态

pgrep -l 进程名

显示指定进程的相关进程的对应id和进程名称

pstree -aup

显示进程树和响应pid

jobs -l

查看当前被挂起的进程的任务号和进程号

示例:[1]+ 1832 停止

任务号 进程号

fg 任务号

将挂起的进程放到前台运行

bg 任务号

将被挂起的进程放到后台运行

kill [选项] 进程号

杀死指定进程

针对进程号的命令

常用信令选项:

-1:重新初始化进程,并且进程pid不会改变

-2:结束进程,但不强制;Ctrl + C 是对前台进程执行的kill -2指令

-9:发送信令,强制进程

-15:正常结束进程,也是kill命令不加选项的默认信令

-19:暂停进程

pkill [选项] 进程名

可以针对进程名、指定用户启动的进程、终端的命令

杀死指定进程

pkill -9 -U 用户名

强制杀死指定用户进程

killall [选项] 进程名

针对进程名

杀死指定进程

netstat -anpt | grep httpd

查看指定名为httpd的进程的相关信息

-a:显示所有进程

-n:以数字显示地址相关信息

-p:列出协议

-t:列出tcp相关信息

快捷键

说明

Ctrl + C

取消当前前台程序

Ctrl + Z

将前台程序挂起到后台暂停起来,该进程处于停止状态

ps命令选项参数

说明

-e

(every)显示所有进程

-u

(user)显示面向用户的进程的详细信息,如进程所有者、CPU 使用率、内存使用率等

-f

(full-format)以全格式的列表显示进程的信息,包括进程之间的层级关系

-p

(pid)查找具有指定进程 ID 的进程

-C

(Command)查找具有指定命令名称的进程

-aux

在当前用户下以详细格式显示所有正在运行的进程

其中 x 是表示在没有控制终端的情况下列出进程,这些显示的主要是启动并运行在后台的进程

终端详细信息解析

ps -elf信息列

说明

F(flags)

该进程的特定标志

S(stat)

进程状态

PPID(Parent Process ID)

该进程的父进程ID,创建当前进程的进程ID,如果没有父进程就显示0

UID

进程所有者的用户名;和USER一样

C

CPU的利用率,和%CPU一样

PRI(Priority:优先级)

进程调度的优先级,越小越优先

也叫实时进程 或 动态优先级(0 ~ 99)

取值范围:0 ~ 139(共140个)

NI(nice)

进程谦让度(对CPU资源的抢夺能力),NI值越高,优先级越低

也叫非实时进程 或 静态优先级,取值范围:-20 ~ 19(共40个)

ADDR

内存地址,该进程在运行时所用的数据在内存中的地址

SZ

进程使用的交换空间(虚拟内存)的大小(以KB为单位)

WCHAN(Waiting Channel)

如果该进程处于睡眠状态,这一列将显示进程正在等待的资源或条件

STIME

该进程启动时间

ps -aux信息列

说明

USER

进程所有者的用户名

PID(Procedure ID)

该进程唯一进程ID,每一个进程在启动时,系统内核会分配一个运行时的唯一标识ID

%CPU

该进程使用的 CPU 资源的百分比

%MEM

该进程使用的内存资源的百分比

VSZ(Virtual Memory Size)

该进程占用虚拟内存的大小;交换分区的占用量;以 KB 为单位

RSS(Resident Set Size)

该进程占用的物理内存大小;以 KB 为单位

TTY

该进程在哪个终端上运行


若该进程不在终端上运行则显示“?”

如果显示的是tty1-tty6表示本机登录,显示pts/0等,表示为网络连接进主机。

TTY是电传打字机的缩写;teletypewriter;TeleTYpe,是早期古老的一种终端设备

STAT

进程当前运行状态

START

该进程启动的时间点

TIME

进程运行过程中占用 CPU 的总时间

CMD

启动进程的命令的名称

前台和后台的概念

  • 前台:进程独占终端,无法再执行其他指令
  • 后台:进程位于后端运行,不独占终端

nice命令

也叫非实时进程 或 静态优先级,如果要把nice值映射到PRI,是100 ~ 139,而实时进程是0 ~ 99

命令

说明

nice

查看当前进程的nice值,不手动设置就默认为0

静态优先级,是我们定义的

nice值越高,优先级越低

nice -10 bash

将bash shell的静态优先级提高10个单位的优先级

nice --10 bash

将bash shell的静态优先级降低10个单位的优先级

终端类型

  1. tty终端
  2. 虚拟终端
    1. pts终端
    2. 伪终端

Linux的桌面只是系统中的一个应用程序(内核之外),默认安装在TTY1终端之上

进程的状态

第一个字母表示进程的状态,后续的文本表示进程其他的属性

进程状态

说明

D

不可唤醒的休眠进程

R

正在运行的进程

S

休眠进程

T

暂时停止的进程

Z

僵尸进程

父进程没有回收释放已经停止的进程,就会形成僵尸进程,一直占用资源

s

父进程

+

前台的进程

直接在终端下运行的程序,占据了终端,占据时不能正常使用其他命令

高优先级

N

低优先级

代码风格

Linux环境下命令的选项大致可分为3个风格

  1. Unix风格:“ls -a”、“ls -Alh”
  2. BSD风格:“tar xzf”、“ps aux”
  3. GNU风格(Gnu is Not Unix):如“gzip --help”

top界面解析

使用top命令显示实时进程动态

top界面信息

说明

top

系统当前时间

up

该主机运行时间 2:14表示运行了2小时14分钟

user

当前系统登录的用户数量

load average

系统负载平均值:最近一分钟的负载,最近5分钟的负载,最近15分钟的负载

数字越小代表负载越低,最近15分钟的最具备参考价值

Tasks

任务数量:当前进程数量 total,正在运行的 running,正在休眠的 sleeping,正在停止的 stopped 僵尸进程 zombie

%Cpu(s)

CPU占用率:用户占用的% us,系统内核% sy,改变静态优先级的进程% ni 空闲进程% id (idle),等待 I/O 完成的 CPU 百分比 wa,硬中断占用% hi,软中断占用% si,虚拟CPU% st

KiB Mem

总物理内存空间 total,空闲内存空间 free,已使用空间 used,缓冲、缓存区总大小 buff/cache

KiB Swap

交换分区总大小 total,空闲空间 free,已使用空间 used,可用物理内存空间 avail Mem

top进程信息列

说明

PR

和PRI一样,代表优先级

VIRT

虚拟内存使用量

RES

物理内存使用量

SHR

共享内存大小

缓冲区(buffer)

内存 ——》硬盘

缓冲区是一块内存区域,用于临时存储数据,以便在不同速度的设备(比如内存和硬盘)之间传输数据时起到协调作用。

当程序需要向硬盘写入数据时,数据首先被写入缓冲区。当缓冲区满或满足某些条件(比如占满三分之一)时,缓冲区中的数据会一次性写入硬盘。这样做的好处是可以减少直接写入硬盘的次数,提高写操作的效率。

缓存区(cache)

硬盘 ——》内存 ——》CPU

  1. 当程序需要数据时,数据首先从硬盘读取到内存中。
  2. 而内存作为CPU和硬盘之间的桥梁,具有比硬盘快得多的读取速度。数据在内存中,CPU就可以直接从内存中读取到CPU缓存中,而不需要等待硬盘的慢速响应。
  3. 因为内存的速度仍然跟不上CPU的速度,因此这些数据会先被加载到CPU缓存中(三级缓存,二级缓存) ——》寄存器 ——》运算器。

计划任务

  • 一次性任务

    • 在未来的某一个时间运行一个任务
  • 周期性任务

    • 在未来的某一个固定的时间周期性地运行任务

一次性任务

命令

说明

yum -y install at

安装相关软件包

systemctl start atd

运行该软件对应服务

at 时间(23:30)

创建一个于23:30运行的一次性任务

atq

查看创建的计划任务

atrm 任务编号

删除指定任务号的计划任务

快捷键

说明

Ctrl + D

退出任务计划编辑界面

周期性任务

  • 分钟(0 - 59)
  • 小时(0 - 23)
  • 日期(1 - 31)
  • 月份(1 - 12 或缩写如 jan, feb 等)
  • 星期(0 - 7,其中 0 和 7 都代表星期日,或缩写如 sun, mon 等)

实验文字步骤

  1. 在 /etc/cron.hourly/ 目录下放置或创建要执行的脚本
  2. chmod +x 文件名.sh 给脚本文件添加执行的权限
  3. 通过 vim /etc/crontab 命令添加周期性任务
  4. systemctl restart crond 重启相关服务
  5. 最后可以通过run-parts命令测试周期性任务

实验图片步骤

在 /etc/cron.hourly/ 下编写脚本文件

编辑/etc/crontab文件

五个*号对应5种日期单位

每分钟 每小时 每天 每月的这一天 每周的周几

语法:* * * * * 要执行该命令的用户 要执行的命令 执行脚本的路径

使用run-parts命令执行脚本,然后查看test文件是否被echo命令追加了字符串

因为设置的是每隔一分钟执行一次,所以过了几分钟就有了很多追加内容

命令

说明

crontab -e

在root用户下添加计划任务

脚本内使用的命令最好用绝对路径

crontab -l -u [用户名]

查询执行用户的计划任务

crontab -e -u 用户名

给指定用户添加计划任务

以用户为单位,分别指定计划任务

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

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

相关文章

【Python】教你彻底认识Python中的Web开发

​​​​ 文章目录 一、Web开发的基本概念1. Web服务器2. 客户端-服务器模型3. HTTP协议4. 前端与后端 二、常用的Web开发框架1. Django1.1 安装Django1.2 创建Django项目1.3 定义模型1.4 定义视图1.5 定义URL路由1.6 模板 2. Flask2.1 安装Flask2.2 创建Flask应用2.3 模板2.4…

达梦8 并行查询

达梦数据库可以通过在查询语句加/* parallel */ HINT并行执行。下面以一个排序语句为例 我们通过一条监控语句查询排序区的使用情况。 最初没有查询结果(no rows) 伴随着语句insert /* parallel(4) */ into d select * from a order by 2执行&#xff…

WPS超级会员4年,2024年到手值得!

WPS超级会员4年,带来金山办公软件的全新体验!作为正版软件,WPS不仅拥有海量的模板资源,还能轻松实现PDF转word、图片处理、PDF编辑文档修复等功能,让你的办公效率更上一层楼。 购买WPS超级会员4年,你将获得…

大模型日报2024-06-06

大模型日报 2024-06-06 大模型资讯 AI推理缺陷:大型语言模型的局限性 摘要: 研究表明,像ChatGPT这样的流行AI平台在推理测试中给出的答案不一致,并且在增加上下文信息后也没有改善。这揭示了当前大型语言模型在推理能力上的局限性。 Databric…

计算机组成结构—总线

目录 一、总线的基本概念 1.分散连接和总线连接 2.总线的特点和组成 二、总线的分类 1. 片内总线 2. 系统总线 3. 通信总线 三、总线结构 1. 单总线结构 2. 双总线结构 3. 三总线结构 四、总线的性能指标 五、总线标准 六、总线判优(总线仲裁&#xf…

为什么Java中的main方法必须是public static void的?

当我们创建main方法时,首先都是public、都是static,返回值都是void,方法名都是main,入参都是一个字符串数组。 在以上的方法声明中,唯一可以改变的部分就是方法的参数名,我们可以吧args改成任意我们想要使…

【List,ArrayList与顺序表】

目录 1,什么是List 2,List的使用 3,线性表 4,顺序表 4.1 接口的实现 5, ArrayList简介 6,ArrayList的使用 6.1 ArrayList的构造方法 6.2 ArrayList的常见操作 6.3 ArrayList的遍历 7,…

解决CSDN 导入Markdown图片失效不显示问题

每次将MarkDown文件导入CSDN的时候,有些图片总是由于防盗链的问题导致图片加载不出来,还得手动再导一遍,极其不方便。所以我们能不能建立一个属于自己的图片服务器或者说在线图库呢,而且每次使用Typora插入图片的时候都会自动的上…

JVM学习-Arthas

Arthas Alibaba开源的Java诊断工具,在线排查问题,无需重启,动态跟踪Java代码,实时监控JVM状态Arthas支持JDK6,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的Tab自动补全功能&#…

makefile2

makefile的条件判断 运行make。 替换 make -c make-f …… 还可以 man make来查看其他的make命令。

Java可视化界面

一。使用JFrame(创建窗口)JDialog(创建新窗口) //1.创建一个窗口对象JFrame frame new JFrame("一个文件");//2.创建一个容器Container container frame.getContentPane();//3.为容器添加颜色container.setBackground…

pip 永久换源

一. pip换源 1 永久换源 1.1 配置pip.ini文件 先在此电脑的地址栏中输入%APPDATA% 按回车进行跳转到Roaming文件夹中,如果在此文件夹下没有pip文件夹则新建一个pip文件夹,并且新建文件pip.ini,并在里面输入以下内容(此处示例为阿里源)&#x…

fixdep conf 工具介绍

文章目录 1. fixdep 工具2. conf 工具 1. fixdep 工具 fixdep <depfile> <target> <cmdline> 作用&#xff1a;查找实现目标所用的命令、源码、头文件等全部信息。 参数1&#xff1a;<depfile>编译产生的依赖文件*.d 参数2&#xff1a;<target&…

Vue3的ref创建一个全局变量,非常好用!

1. 前言 Vue3的ref对象我们都知道其用法,通过ref可以创建一个响应式对象使用,同时可以用compute,watch等Vue3的API对其进行操作 不同于Vue2的是,Vue3使用的是组合式API,这也就意味着,我可以在外部单独创建一个ref对象,然后保存,通过导出的方式,给其他的页面使用 理论存在,开始…

SpringBoot高手之路04-Aop

文章目录 AOP 基础AOP概述start依赖,开发某一个功能,只需要下载这一个依赖,关于他的依赖都会下载下来 AOP快速入门AOP核心概念 切入点表达式-execution AOP 基础 AOP概述 AOP 对特定的方法做增强 AOP 快速入门 start依赖,开发某一个功能,只需要下载这一个依赖,关于他的依赖…

快速上手 ngrok:将你的本地服务一键暴露到互联网,开发者必备技能!

想让外界轻松访问你本地电脑上的项目&#xff1f;试试 ngrok 吧&#xff01;无论是调试 Web 应用&#xff0c;还是进行跨网络测试&#xff0c;ngrok 都能帮你一键创建安全隧道&#xff0c;将本地服务映射到公共 URL&#xff0c;让全球任何地方都能访问。本文详细介绍 ngrok 的安…

【Spring框架全系列】SpringBoot_基础_先知(详细)

文章目录 1.SpringBoot介绍2.创建一个SpringBoot项目3.parent标签 - 父工程4.starter依赖5.启动类和文件打包6.默认配置 1.SpringBoot介绍 Spring阶段最困扰大家的事情是什么&#xff1f; 配置 → 配置魔鬼 快速搭建一个独立的生产级别的Spring应用 快速引入项目相关依赖 开箱…

搜维尔科技:使用 Xsens 动作捕捉技术创建栩栩如生的动画

使用Xsens 动作捕捉技术创建栩栩如生的动画 搜维尔科技&#xff1a;使用 Xsens 动作捕捉技术创建栩栩如生的动画

【WPF编程宝典】第9讲:几何图形

本讲介绍了直线&#xff0c;矩形&#xff0c;椭圆&#xff0c;几何分组&#xff0c;合并&#xff0c;布尔运算等几何图形操作。介绍了更强大的微语言几何图形的应用。 1.路径和几何图形 Path类继承自Shape类&#xff0c;是功能最强大的形状类。path类可以包含任何简单形状、多…

【漏洞复现】I Doc View 在线文档预览 qJvqhFt.json 任意文件读取漏洞(XVE-2024-2115)

0x01 产品简介 iDocView是一个在线文档解析应用&#xff0c;旨在提供便捷的文件查看和编辑服务。 0x02 漏洞概述 iDocView是一个在线文档预览系统 /iew/gJvghftjson 接口处存在任意文件读取漏洞&#xff0c;未授权的攻击者可以利用此接口并携带默认token读取服务器敏感文件信…