Linux-进程和计划任务管理⭐

目录

一、程序和进程

1.程序

2.进程

3.线程与进程

二、ps查看静态进程信息 

1.ps aux 命令

2.ps-静态查看系统进程

3.ps -elf

三、top-查看进程动态信息

四、pgrep查看进程信息 

五、pstree-查看进程树

六、控制进程

1.进程启动方式

2.调度启动

3.进程的前后台调度

4.终止进程

七、计划任务管理

1.at一次性任务设置

2.crontab周期性任务设置


一、程序和进程

1.程序

程序用于告诉计算机如何执行特定的任务或操作。可以保存在硬盘、光盘等介质中的可执行代码和数据文件中,也可以存在于计算机内存中。

这些文件包含了程序的静态保存的代码,即在程序被执行之前就已经存在的指令和数据。

2.进程

在CPU及内存中运行的程序代码

动态执行的代码

父、子进程

每个程序可以创建一个或多个进程

3.线程与进程

进程是程序的一次执行,是操作系统资源分配和管理的基本单位,包括代码、数据、堆栈、文件句柄等。

线程是进程中的一个执行流程,是CPU调度的基本单位,共享进程的资源,包括内存、文件和其他系统资源。

进程之间通常是相互独立的,每个进程有独立的内存空间,通过进程间通信来实现数据共享和通信。

线程之间共享相同的地址空间和其他进程资源,线程之间的数据共享和通信更为方便,因为它们不需要通过复杂的IPC机制。

二、ps查看静态进程信息 

1.ps aux 命令

用于显示当前系统上运行的进程信息。

USER: 进程的用户。
PID: 进程的 PID(进程标识符)。
%CPU: 进程占用的 CPU 百分比,表示进程占用 CPU 资源的程度,占用越高,进程消耗的资源越多。
%MEM: 进程占用内存的百分比,表示进程在系统内存中的使用情况。
VSZ: 该进程使用的虚拟内存量(单位为 KB),即进程在虚拟内存空间中所占用的大小。
RSS: 该进程占用的实际物理内存量(单位为 KB),即进程在物理内存中所占用的大小。
TTY: 运行终端,如果进程是从终端启动的,则显示终端名;如果不是,则显示 
STAT: 进程的状态,通常包括👇
D: 不可中断的休眠状态
R: 正在运行状态
S: 处于休眠状态,可被唤醒
T: 停止状态,可能是在后台暂停或进程处于跟踪调试状态
Z: 僵尸进程,进程已经中止,但是部分程序还在内存中
TART: 该进程被启动的时间。
TIME: 该进程实际使用 CPU 的时间。
COMMAND: 进程的名称与参数。

2.ps-静态查看系统进程

ps- 常用选项

a: 显示当前终端下的所有进程信息,包括其他用户的进程。
u: 使用以用户为主的格式输出进程信息,通常会显示更详细的用户相关信息。
x: 显示当前用户在所有终端下的进程信息,即显示不受终端限制的所有进程。
e: 显示系统内的所有进程信息,包括所有用户的进程。
l: 使用长格式显示进程信息,通常会显示更多的字段信息。
f: 使用完整的格式显示进程信息,通常会显示更多的父进程和子进程的关系。
a: 显示现行终端下的所有进程信息,与 -e 类似。
T: 查看线程信息,显示进程的线程信息。
--sort 属性: 对属性进行排序,属性前加 - 表示倒序排序,可以按照不同的属性进行排序,如 %CPU、%MEM 等。

3.ps -elf

显示系统中运行的进程的详细信息

F: 内核分配给进程的系统标记。
S: 进程的状态,通常包括:
ID: 启动这些进程的用户。
PID: 进程的 PID(进程标识符)。
PPID: 父进程的 PID,即启动当前进程的进程的 PID。
C: 进程生命周期中的 CPU 利用率。
PRI: 进程的优先级,数字越大优先级越低。
NI: 谦让度值,用于参与决定进程的优先级。
ADDR: 进程的内存地址。
SZ: 如果进程被换出,所需交换空间的大致大小。
WCHAN: 若该进程在睡眠,则显示睡眠中的系统函数名。
STIME: 进程启动时的系统时间。
TTY: 进程启动时的终端设备。
TIME: 运行进程需要的累计 CPU 时间。
CMD: 进程的启动命令,即进程的名称与参数。

三、top-查看进程动态信息

P 键: 根据 CPU 使用百分比大小进行排序
M 键: 根据驻留内存大小进行排序 
N 键: 根据启动时间进行排序
c 键: 切换显示命令名称和完整命令行
h 键: 可以获得 top 程序的在线帮助信息。
k 键: 根据提示输入指定进程的 PID 号并按 Enter 键终止对应的进程。
q 键: 退出 top 程序。
数字1 键: 显示 CPU 的个数和状态,按下数字1键后,将显示 CPU 的数量和每个 CPU 的使用状态。

 第一行:任务队列信息

 top - 02:58:44 up  2:05,  3 users,  load average: 0.00, 0.01, 0.05   👇

02:58:44: 当前时间。
up 2:05: 系统已经运行了 2 小时 5 分钟。
3 users: 当前有 3 个用户登录到系统。
load average: 0.00, 0.01, 0.05: 系统的平均负载情况,分别表示 1 分钟、5 分钟和 15 分钟的负载平均值。在这个示例中,系统的负载非常轻,几乎没有负载。

第二行为 进程信息 

Tasks: 229 total,   1 running, 228 sleeping,   0 stopped,   0 zombie 👇

229 total: 总共有 229 个任务。
1 running: 当前有 1 个任务正在运行。
228 sleeping: 有 228 个任务处于睡眠状态,即等待事件发生或者等待被唤醒。
0 stopped: 没有任务被停止。
0 zombie: 没有僵尸进程,即已经终止但是父进程还没有对其进行善后处理的进程。

 

第三行为 CPU的信息

%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

0.0 us: 用户空间占用 CPU 的百分比(用户空间占用 CPU 的百分比为 0.0%,即用户程序几乎没有占用 CPU)

0.0 sy: 内核空间占用 CPU 的百分比(内核空间占用 CPU 的百分比为 0.0%,即系统内核几乎没有占用 CPU)

0.0 ni: 调整过优先级的进占用 CPU 的百分比(调整过优先级的进程占用 CPU 的百分比为 0.0%)

100.0 id: 空闲 CPU 的百分比(CPU 空闲的时间比例为 100.0%,即 CPU 几乎完全空闲)

0.0 wa: 等待 I/O 的 CPU 时间百分比(CPU 等待 I/O 的时间比例为 0.0%,即没有 CPU 在等待 I/O 操作完成)

0.0 hi: 硬中断占用 CPU 的百分比 (硬中断占用 CPU 的时间比例为 0.0%)

0.0 si: 软中断占用 CPU 的百分比 (软中断占用 CPU 的时间比例为 0.0%)

0.0 st: 虚拟化的虚拟 CPU 的被盗用时间百分比 (虚拟 CPU 的被盗用时间比例为 0.0%。)



 

第四行:内存信息
KiB Mem :  3861252 total,  1836780 free,   902972 used,  1121500 buff/cache

3861252 total: 物理内存总量单位为 KiB。
1836780 free: 空闲内存大小单位为 KiB。
902972 used: 已使用的内存大小单位为 KiB。
1121500 buff/cache: 缓存和缓冲区使用的内存大小单位为 KiB。

 

第五行:行为交换空间的信息 

KiB Swap: 4194300 total, 4194300 free, 0 used. 2670372 avail Mem

4194300 total: 交换空间总量,即系统总共可用的交换空间大小,单位为 KiB。
4194300 free: 空闲的交换空间大小,即当前未被使用的交换空间大小,单位为 KiB。
0 used: 已使用的交换空间大小,即当前被系统或应用程序使用的交换空间大小,单位为 KiB。
2670372 avail Mem: 可用内存大小,即系统中当前可用的内存大小,包括未被使用的内存和已被缓存的内存,单位为 KiB。

四、pgrep查看进程信息 

pgrep 是一个用于查找进程的命令

1.基本语法👇

pgrep [选项] <进程名称>

2.常用选项👇

-l: 显示进程名称和 PID。
-t: 指定终端,用于查找在特定终端上运行的进程。
-f: 根据完整的命令行进行匹配,而不仅仅是进程名。
-u <user>: 仅列出指定用户的进程,用于查找特定用户运行的进程。

五、pstree-查看进程树

pstree是一个用于以树状结构显示进程的命令行工具。它可以帮助你更直观地了解系统中运行的进程之间的层次关系。

-a显示完整信息
-u列出对应用户名
-p列出对应pid号

六、控制进程

1.进程启动方式

前台运行: 在命令行直接输入命令并执行,进程会在前台运行,占用当前终端的控制权。


后台运行: 在命令末尾追加 & 符号,进程在后台运行,通过追加 & 后台运行的进程会随着终端的关闭而自动退出。为了避免进程随终端关闭而退出,可以在命令开头位置添加 nohup 命令,格式为 nohup command &。这样进程就会以后台模式运行,并且不会受到终端关闭的影响。

2.调度启动

at一次性任务设置

crontab周期性任务设置

3.进程的前后台调度

Ctrl+Z : 这将当前正在前台运行的进程挂起,即将其调入后台并停止执行。

jobs [-l]: 查看当前处于后台的任务列表。添加 -l 选项可以显示任务的 PID。

fg+序号: 将后台的任务恢复到前台运行。fg 命令后面跟着一个任务的序号,表示将该序号对应的后台任务恢复到前台运行。

4.终止进程

Ctrl+C组合键

        中断正在执行的命令

kill、killall命令

        kill用于终止指定PID号的进程

        killall用于终止指定名称相关的所有进程

        -9选项用于强制终止

kill是如何杀掉进程的? 向进程发送信号的方式杀掉进程

kill(15):默认选项。告诉进程自行停止运行并退出。进程可以捕捉该信号并执行清理工作,然后正常退出。

kill (9):发送 SIGKILL 信号会立即终止进程,且不能被捕捉或忽略。这是一种强制终止进程的方式,进程没有机会进行清理工作,可能会导致数据丢失。

kill(3):发送 SIGQUIT 信号会使进程自行退出,并在退出时打印进程各个线程的堆栈信息。

kill (1):发送 SIGHUP 信号会通知进程重新加载配置文件,但不会使进程退出。

七、计划任务管理

1.at一次性任务设置

  1. at HH:MM [yyyy-mm-dd] 
  2. 输入命令列表 
  3. ctrl + d 提交任务 
  4. atq 查看没执行的任务列表和序号 
  5. atrm <序号> 删除指定的任务

2.crontab周期性任务设置

按照预先设置的时间周期(分钟、小时、天、月、周)重复执行用户指定的命令操作
属于周期性计划任务
主要设置文件
        全局配置文件,位于文件:/etc/crontab 
        系统默认的设置,位于目录:/etc/cron.*/
        用户定义的设置,位于文件:/var/spool/cron/用户名

代表意义 

分钟小时日期 月份命令
数字范围0~59 0~23 1~31  1~120~7 需要执行的命令

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

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

相关文章

ShardingSphere 5.x 系列【26】 数据分片原理之 SQL 路由

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.1.0 本系列ShardingSphere 版本 5.4.0 源码地址:https://gitee.com/pearl-organization/study-sharding-sphere-demo 文章目录 1. 概述2. 携带分片键2.1 直接路由2.2 标准路由2.3 笛卡尔路由3. 不携带分片…

BGP选路实验(锐捷)---Origin选路

实验拓扑图 基本配置如图所示 要求&#xff1a;R5上利用loopback口建立多个分段ip&#xff0c;利用bgp选路原则让双网段数据通过R6转发&#xff0c;单网段数据通过R7转发&#xff0c;通过修改Origin的属性类型为intcomplete&#xff08;利用三种不同的Origin属性的优先顺序&am…

投资标的参考

1、中央汇金投资有限责任公司 1.1、香港中央结算有限公司 2、中央汇金投资有限责任公司持股列表 _ 东方财富网_ 数据频道东方财富网提供十大流通股东数据、十大股东数据、股东持股明细、股东持股变动统计、股东持股分析、股东持股统计、股东协同等数据&#xff0c;充分展示股东…

SpringBoot+MyBatis-Plus+jsqlparser实现多租户功能

前言 多租户技术&#xff08;multi-tenancy technology&#xff09;是一种软件架构技术&#xff0c;它允许在单个系统实例上为多个用户或组织提供服务&#xff0c;同时确保这些用户之间数据的隔离性。在多租户架构中&#xff0c;每个租户&#xff08;可以是个人用户、企业、组…

python中开发页面的两种方法:Qt Designer(PyQt图形化界面拖拽开发App界面)以及Django(开发Web应用框架)

一、开发独立的窗口&#xff0c;App的那种&#xff0c;可使用tkinter或者PyQt 使用PyQt时&#xff0c;里面有个工具Qt Designer&#xff0c;是一个可视化的界面设计工具&#xff0c;可以通过拖拽等方式来设计界面。下面就是Qt Designer的操作界面&#xff1a; 参考链接如下&am…

代码随想录-算法训练营day24【回溯01:理论基础、组合】

代码随想录-035期-算法训练营【博客笔记汇总表】-CSDN博客 第七章 回溯算法part01 今日内容&#xff1a;● 理论基础 ● 77. 组合 详细布置 理论基础 其实在讲解二叉树的时候&#xff0c;就给大家介绍过回溯&#xff0c;这次正式开启回溯算法&#xff0c;大家可以先看视频&a…

docker入门级命令

基本概念 docker的连个基本概念&#xff1a;镜像、容器。 docker镜像可以理解为是存储docker安装包的地方&#xff0c;比如&#xff1a;mcr.microsoft.com/mssql/server:2017-latest是sqlserver的docker镜像。 可以通过docker pull命令拉取远程镜像到本地。比如&#xff1a;…

【论文浅尝】Phi-3-mini:A Highly Capable Language Model Locally on Your Phone

Phi-3-mini phi-3-mini&#xff0c;一个3.8亿个参数的语言模型&#xff0c;训练了3.3万亿个token&#xff0c;其总体性能&#xff0c;通过学术基准和内部测试进行衡量&#xff0c;可以与Mixtral 8x7B和GPT-3.5等模型相媲美(在MMLU上达到69%&#xff0c;在MT-bench上达到8.38)&…

什么是云手机?云手机有什么用?

过去&#xff0c;我们手中的手机是我们生活、工作、娱乐的得力助手&#xff0c;但随着时代的变迁和技术的发展&#xff0c;我们需要的不仅仅是一部手机&#xff0c;而是一个更强大、更灵活的工具。在这个时候&#xff0c;云手机横空出世&#xff0c;成为了我们手机使用的新选择…

[GXYCTF 2019]BabyUpload

过滤 <? 且后缀不能有 php 上传1.jpg文件&#xff0c;内容为&#xff1a; <script languagephp>eval($_POST[cmd]);</script> 但文件后缀为.jpg&#xff0c;蚁剑不能连接。那怎么办呢&#xff1f; .htaccess文件&#xff1a;解析.jpg文件中的php代码 &#xf…

Druid高性能数据库连接池?SpringBoot整合MyBatis整合SpringMVC整合Druid

文章目录 Druid高性能数据库连接池&#xff1f;SpringBoot整合MyBatis整合SpringMVC整合Druid异常记录spring-boot-starter-parent作用Druid介绍什么是数据库连接池&#xff1f;为什么选择Druid数据库连接池整合SpringBoot,MyBatis,SpringMVC,Druid到Maven项目的真个流程pom文件…

Redis入门到实战教程(基础篇)笔记

教学来源&#xff1a; Redis课程介绍导学_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1cr4y1671t?p1一、Redis 入门 1.认识NoSQL 2.Redis在虚拟机中的安装和开机自启 Redis在虚拟机中安装和配置开机自启-CSDN博客https://blog.csdn.net/qq_69183322/article/deta…

MT8788智能模块简介_MTK联发科安卓核心板方案厂商

MT8788安卓核心板是一款具备超高性能和低功耗的4G全网通安卓智能模块。该模块采用联发科AIOT芯片平台&#xff0c;供货周期长。 MT8788核心板搭载了12nm制程的四个Cortex-A73处理器核心和四个Cortex-A53处理器核心&#xff0c;最高主频可达2.0GHz。板载内存容量可选为4GB64GB(也…

docker 基本命令

目录 一、docker 镜像操作命令 1.1.查询软件镜像 1.2.docker pull&#xff1a;下载镜像 1.3.docker push&#xff1a;上传镜像 1.4.docker images&#xff1a;查看本地镜像 1.5.docker inspect &#xff1a;获取镜像详细信息 1.6.docker tag&#xff1a;添加镜像标签 …

4.28|重量级嘉宾携卓翼飞思RflySim平台亮相国际盛会,内容抢先看!

一. 大会背景 2024国际无人机应用及防控大会暨无人机产业博览会即将拉开帷幕&#xff0c;一场高规格、高水平的无人机产业应用国际盛会将再次点亮科技界的星空。 该大会由中国无人机产业创新联盟联合各方有影响力的单位&#xff0c;于4月27-29日在北京举办。组委会致力于将会…

【Python系列】受保护属性

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

RAG原理及本地化实践

基于LLM的应用在问题回答、信息获取上发挥出了巨大作用。这些通用大模型训练的数据主要来源于互联网上的会话或者个别机构提供的数据&#xff0c;虽然能够提供类似人的交互对答&#xff0c;但是在针对某个特定领域的时候就显得不足。通用大模型在应用中主要有以下问题&#xff…

【DINO】环境配置

1. DINO简介 作为一款基于Transformer性能强劲的计算机视觉算法&#xff0c;一经发布即受追捧&#xff0c;本文记录下在DINO官方代码在集群上的环境配置及训练自己的数据集过程。 DINO原文&#xff1a;https://arxiv.org/abs/2203.03605 DINO源代码&#xff1a;https://github.…

ssm084基于ssm的大型商场会员管理系统+jsp

大型商场会员管理系统的设计与实现 摘 要 进入信息时代以来&#xff0c;很多数据都需要配套软件协助处理&#xff0c;这样可以解决传统方式带来的管理困扰。比如耗时长&#xff0c;成本高&#xff0c;维护数据困难&#xff0c;数据易丢失等缺点。本次使用数据库工具MySQL和编…

【C语言必刷题】7. 百钱百鸡

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更…