进程和计划任务以及步骤

进程

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

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

程序启动 ——》将相关文件和数据放到内存里 ——》进程(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 用户名

给指定用户添加计划任务

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【入门教程】5分钟教你快速学会集成Java springboot ~

介绍 Apache DolphinScheduler是一个分布式易扩展的开源分布式调度系统,支持海量数据处理,具有任务流程调度、任务流程编排、任务监控告警、工作流引擎等功能。 本文将介绍如何将Apache DolphinScheduler集成到 Java Springboot 项目中,以实…

电商售后常见的客服快捷语

在电商行业,优质的客户服务体验是留住顾客、建立品牌信誉的关键。面对多样化的售后请求,如何高效、准确地回应顾客,成为每个客服团队必须面对的挑战。今天,我给大家分享一些电商售后常见的客服快捷语,帮助客服人员提高…

【Python】教你彻底了解Python中的并发编程

​​​​ 文章目录 一、并发编程的基本概念1. 线程(Thread)2. 进程(Process)3. 协程(Coroutine) 二、Python中的线程与进程1. 线程1.1 创建和启动线程1.2 线程同步 2. 多进程2.1 创建和启动进程2.2 进程间…

【Python数据预处理系列】掌握数据清洗技巧:如何高效使用drop()函数去除不需要的列

目录 一、准备数据 二、使用drop函数去除掉指定列 在数据分析和预处理的过程中,经常会遇到需要从数据集中移除某些列的情况。本文将引导您了解如何使用drop函数高效地去除不需要的列,帮助您提升数据处理技能,确保您的数据集只包含对分析有价…

数据采集边缘网关解决企业数据采集痛点-天拓四方

随着信息技术的快速发展,企业对于数据采集和处理的需求日益增长。然而,传统的数据采集方式往往面临着数据量大、传输延迟、安全性不足等问题,给企业的运营和管理带来了诸多挑战。在这样的背景下,数据采集边缘网关应运而生&#xf…

注意,CCNA版本即将更新至V1.1

下午好同学们,思科发布了CCNA 1.1版本的更新,这次更新不仅涉及到考试内容的调整,也同样从侧面反映了网络技术的发展趋势。 震惊!思科为了与时俱进,NA居然做出这种事! 今天就从更新内容概览、考试大纲的变…

dynamic多数据源的简单使用

背景 这几天搞了个saas项目,里面用到了多数据和execl模板导出功能, 其实我是经常用到的,但没在博客中写过,最近有点时间,正好稍微写一下。 方便大家使用 这次我先写多数据,execl模板导出下次有空在写。 使…

手机怎么压缩视频?归纳了三种快速压缩方案

手机怎么压缩视频?在数字时代,手机已经成为我们记录生活的重要工具,而视频作为其中的一种主要形式,更是占据了极大的存储空间。然而,随着手机拍摄的视频越来越多,如何高效压缩视频以节省存储空间&#xff0…

数组array 和 array的区别

问题 对于数组 array和&array有什么区别呢? 先说答案 array: 指向数组第一个数地址的指针 &array: 指向整个数组地址的指针 所以直接打印的话, 地址是一样的. 但是如果1的话, 那么array是增加sizeof(int)大小, &array是增加sizeof(int) * array.size() 测试 #i…

金融科技赋能跨境支付:便捷与安全并驾齐驱

一、引言 在全球经济一体化的背景下,跨境支付作为国际贸易和金融活动的重要组成部分,正迎来金融科技浪潮的洗礼。金融科技以其独特的创新性和颠覆性,正在重塑跨境支付市场的格局,使其更加便捷、高效且安全。本文旨在探讨金融科技如何助力跨境支付,实现便捷与安全并存,并…

QT系列教程(8) QT 布局学习

简介 Qt 中的布局有三种方式,水平布局,垂直布局,栅格布局。 通过ui设置布局 我们先创建一个窗口应用程序,程序名叫layout,基类选择QMainWindow。但我们不使用这个mainwindow,我们创建一个Qt应用程序类Log…

五大PS插件推荐,让你的设计效率翻倍!

前言 PS插件可以在繁忙的设计工作中,帮助设计师们快速高效地完成任务,是每个设计师都渴望解决的问题。这些插件不仅能够提升设计效率,还能让设计师的创意得到更好的展现。接下来,就为大家推荐五款必备的PS插件,让你的…

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

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

【成品设计】基于433模块的人体检测响铃控制系统

《基于433模块的人体检测响铃控制系统》 整体功能: A端的器件: 单片机(STM32C8T6) 2.人体感应模块: 引脚连接: 1.VCC:正极 3.3-5V供电 2.GND:负极 接GND 3.DO(数字量输…

19 - 查询结果的质量和占比(高频 SQL 50 题基础版)

19 - 查询结果的质量和占比 -- round(avg(rating<3)*100,2)round(avg(if(rating<3,1,0))*100,2) select query_name,round(avg(rating/position),2) quality,round(avg(if(rating<3,1,0))*100,2) poor_query_percentage fromQueries group byquery_name;

ScrollViewer—WPF滚动条控件

ScrollViewer—WPF滚动条控件 参考地址&#xff1a;ScrollViewer 概述 - WPF .NET Framework | Microsoft Learn 1.ScrollViewer定义与功能 ScrollViewer是WPF应用程序的一个容器控件&#xff0c;用于在可以滚动的区域中显示其他可见元素。ScrollViewer封装&#xff1b; 水平…

网络高频攻击手段与基本防护措施总结

主要攻击手段 一、云平台攻击 云平台攻击是指针对云服务器的恶意行为&#xff0c;旨在获取非法访问权限、窃取敏感数据或者破坏服务器的正常运行。云平台攻击的形式多样&#xff0c;以下是对云平台攻击的一些主要类型和特点的详细分析&#xff1a; 攻击类型&#xff1a; 凭据…

数字人AI唇音同步解决方案,轻量高效,灵活部署

在数字化浪潮的推动下&#xff0c;企业对于高效、逼真的数字人形象需求日益增强。为满足这一市场需求&#xff0c;美摄科技凭借其深厚的AI技术积累&#xff0c;推出了一款革命性的数字人AI唇音同步解决方案&#xff0c;为企业带来前所未有的沟通体验。 一、精准捕捉&#xff0…

C语言(联合和枚举)

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f4a5;个人主页&#xff1a;奋斗的小羊 &#x1f4a5;所属专栏&#xff1a;C语言 &#x1f680;本系列文章为个人学习笔记&#xff0c;在这里撰写成…

00-macOS和Linux安装和管理多个Python版本

在 Mac 上安装多个 Python 版本可通过几种不同方法实现。 1 Homebrew 1.1 安装 Homebrew 若安装过&#xff0c;跳过该步。 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 1.2 安装 Python 如安装 Python …