进程和计划任务以及步骤

news2024/12/23 16:54:15

进程

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

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

程序启动 ——》将相关文件和数据放到内存里 ——》进程(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.coloradmin.cn/o/1793809.html

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

相关文章

easyexcel动态表头导出

动态表头导出excel 红框固定&#xff0c;绿框动态 引入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.1</version></dependency>工具类 import com.alibaba.excel.util…

0.2 模拟电视简介

0.2 模拟电视简介 模拟电视指从图像信号的产生、传输、处理到接收机的复原&#xff0c;整个过程几乎都是在模拟体制下完成的电视系统或电视设备。模拟电视使用模拟信号传输图像和音频&#xff0c;模拟信号的幅度、相位和频率分别表示图像的亮度、颜色和声音。模拟电视的优点&a…

jmeter -n -t 使用非GUI模式运行脚本说明

命令模式下执行jmx文件 jmeter -n -t fatie.jmx -l results\t4.jtl -e -o results\h1 表示以命令行模式运行当前目录下的脚本fatie.jmx,将结果存入当前目录下的results\t1.jtl,并且生成html格式的报告&#xff0c;写入文件夹results\h1。 说明&#xff1a;生成结果的文件夹r…

在离线单机或内网环境中快速安装Visual Studio 2022并还原用户设定

20240606 By wdhuag 目录 前言 参考&#xff1a; 在外网环境下载离线安装包 1、在已安装好VS的电脑上用Visual Studio Installer导出配置.vsconfig 2、下载在线安装包VisualStudioSetup_Enterprise_2022.exe到D:\VisualStudio\ 3、使用cmd定位到VisualStudioSetup_Enter…

MySQL深分页,limit 100000,10 优化

文章目录 一、limit深分页为什么会变慢二、优化方案2.1 通过子查询优化&#xff08;覆盖索引&#xff09;回顾B树结构覆盖索引把条件转移到主键索引树 2.2 INNER JOIN 延迟关联2.3 标签记录法&#xff08;要求id是有序的&#xff09;2.4 使用between...and... 我们日常做分页需…

docker 命令 ps,inspect,top,logs详解

docker常用命令教程-4 docker ps docker ps 命令用于列出当前正在运行的容器。默认情况下&#xff0c;它只显示正在运行的容器&#xff0c;但你可以使用 -a 或 --all 选项来显示所有容器&#xff08;包括已停止的容器&#xff09;。 常用的选项和示例&#xff1a; -a 或 --…

手机自动化测试:4.通过appium inspector 获取相关app的信息,以某团为例,点击,搜索,获取数据等。

0.使用inspector时&#xff0c;一定要把不相关的如weditor啥的退出去&#xff0c;否则&#xff0c;净是事。 1.从0开始的数据获取 第一个位置&#xff0c;有时0.0.0.0&#xff0c;不可以的话&#xff0c;你就用这个。 第二个位置&#xff0c;抄上。 直接点击第三个启动。不要…

手持终端RFID电子标签读写器超高频手持机

RFID手持机具备RFID读写功能&#xff0c;可以对RFID标签进行识读&#xff0c;是有特定功能的PDA(便携式移动终端)。 作为现代化信息管理工具的重要组成部分&#xff0c;其强大的功能和便捷的操作性正在越来越多的领域得到应用。从物流仓储到零售管理&#xff0c;从生产制造到医…

浅谈申请小程序地理位置权限的正确打开方式

小程序地理位置接口有什么功能&#xff1f; 这篇内容会教大家如何快速申请“获取当前的地理位置&#xff08;onLocationChange&#xff09;”接口&#xff0c;以便帮助大家顺利开通接口。以下内容是本人经历了多次的申请经历得出来的经验&#xff0c;来之不易&#xff0c;望大家…

Cy5.5-甘氨鹅去氧胆酸荧光染料标记物:一种生物成像工具

在现代生物研究和医学诊断领域&#xff0c;荧光染料标记物扮演着举足轻重的角色。它们能够实现对生物体内特定分子或细胞的非侵入性、实时追踪&#xff0c;从而为我们揭示生命过程的奥秘提供工具。 Cy5.5-甘氨鹅去氧胆酸荧光染料标记物的结构与特性 Cy5.5-甘氨鹅去氧胆酸荧光染…

Google Inventor一款适合儿童的趣味APP编程开发平台

Google Inventor 其实是指 App Inventor&#xff0c;这是由 Google 开发并由麻省理工学院&#xff08;MIT&#xff09;继续维护和发展的一个应用程序开发平台。 App Inventor 的主要特点和用途如下&#xff1a; 什么是 App Inventor&#xff1f; App Inventor 是一个基于 W…

Python文本处理利器:jieba库全解析

文章目录 Python文本处理利器&#xff1a;jieba库全解析第一部分&#xff1a;背景和功能介绍第二部分&#xff1a;库的概述第三部分&#xff1a;安装方法第四部分&#xff1a;常用库函数介绍1. 精确模式分词2. 全模式分词3. 搜索引擎模式分词4. 添加自定义词典5. 关键词提取 第…

渗透测试报告生成工具

目录 1.前言 1.1 渗透测试报告是什么? 1.2 渗透测试报告的编写需要考虑以下几点&#xff1a; 1.3 一份优秀的渗透测试报告应该具备以下特点&#xff1a; 1.4 在编写渗透测试报告之前&#xff0c;需要进行一些准备工作&#xff1a; 1.5 渗透测试报告一般包括以下部分&…

【成品设计】基于STM32和LoRa的大棚监测控制系统

《基于STM32和LoRa的大棚监测控制系统》 整体功能&#xff1a; LoRa智能远程控制系统是基于STM32F103C8T6最小系统板如图1的基础上使用STM32CubeMX工具搭建工程&#xff0c;基于HAL库进行编程设计&#xff0c;采用主 - 从模式来进行设计模拟与实现&#xff0c;主机、从机上都…

各平台对象存储

一、阿里云对象存储 官方文档&#xff1a;https://help.aliyun.com/zh/oss/getting-started/getting-started-with-oss?spma2c4g.11186623.0.0.299a646c6nWWcW 1.引入maven 官网&#xff1a;https://help.aliyun.com/zh/oss/developer-reference/java-installation?spma2c…

跨越文化鸿沟:海外短剧推广平台多语言支持技术的深度探讨

在海外短剧推广的过程中&#xff0c;多语言支持技术不仅是跨越语言障碍的桥梁&#xff0c;更是连接不同文化背景的纽带。本文将深入探讨多语言支持技术的重要性&#xff0c;以及其在实现过程中的技术细节和策略。 一、多语言支持技术的文化价值 多语言支持技术不仅能让观众跨…

材料科学领域科技查新点提炼方法!---附案例

材料科学是研究材料的组织结构、性质、生产流程、使用效能及它们之间的相互关系的科学&#xff0c;集物理学、化学、冶金学等于一体。随着科技的发展&#xff0c;纳米技术和生物技术也广泛应用到该领域中。从材质上可以分为金属材料、无机非金属材料、有机高分子材料和复合材料…

review of c++

友元关系是单向的。 指针

0基础学习区块链技术——去中心化

大纲 去验证的中心化验证者如何验证验证者为什么要去传播 去确认的中心化去存储的中心化 “去中心化”是区块链技术的核心。那么我们该如何理解这个概念呢&#xff1f; 我们可以假想在一次现实转账中&#xff0c;有哪些“中心化”的行为&#xff1a; 判断余额是否足够。即判断…