当前位置: 首页 > news >正文

Linux常用命令--进程和计划任务管理

一、程序和进程的关系

1、程序

①保存在硬盘、光盘等介质中的可执行代码和数据
②静态保存的代码

2、进程

①在cpu及内存中运行及进程代码
②动态执行的代码
③父(fork)、子进程,每个程序可以创建一个或多个进程
父进程和子进程的区别:父进程产生PPID
子进程产生PID

3、三种回收状态:

①当子进程完成工作后,父进程回收子进程系统给予的资源
②当子进程完成工作后,父进程不回收,称为“僵尸进程”
③当子进程完成工作后,没有父进程回收,称为“孤儿进程”。会用systemd来回收

4、进程状态:

①运行状态
②睡眠状态可中断状态
③睡眠状态不可中断状态(不可强制唤醒)
④僵尸状态
⑤停止状态
在同一个进程:只能按顺序来排队运行,按cpu时间片来处理进程

5、查看的命令

ps aux 查看系统进程
ps -ef 查看系统进程
ps a 显示现行终端机下的所有程序,包括其他用户的程序
ps -A 显示所有程序
ps c 列出程序时,显示每个程序真正的指令名称,而不包括路径,参数或常驻服务的标示
ps f 用ASCII字符显示树状结构,表达程序的相互关系
ps u 以用户位主的格式来显示程序状况
load average:平均负载cpu参数
ps -o user,pid 指定user,pid查看
top -d 5 设置刷新时间5秒
top -p +进程号(PID) 直接查看单独的进程
查找某个进程:ps aux | grep vim
ps aux | grep vim |grep -v grep
pstree -u 查看进程是谁产生,是谁在用
pstree -p 不仅查看进程,还可以显示PID进程号
pgrep -l +进程名 不仅查看进程,还可以查看进程号
pgrep -u +名称(tom) 指定一个用户查看
pgrep -u tom -l 指定一个用户看tom的用户进程和进程号
kill +进程号PID 中止
kill -9 +进程号 强制杀死(只会杀死一个)
killall + 名称(vim) 直接用名称杀死(杀死下面所有的进程)
kill -15 走正规流程
kill -1 重启
pkill -9 + 名称 杀死
jobs 查看后台的进程
fg +1(后台排序号)调到前台
bg +4 (后台排序号) 在后台恢复运行
cp /dev/sr0 /tom & 在后台运行
kill -9 %1(后台排序号) 在后台杀死

命令模式下:
Ctrl+z 从前台调到后台
名称+& 从前台调到后台
Ctrl+c 中断

二、查看进程信息ps

1、ps aux命令下面查看的信息:

a:显示终端上的所有进程,包括其他用户的进程
u:标识;列出进程的用户
x:显示所有终端的进程
在这里插入图片描述
各列的解释:
(1)USER: 用户
(2)PID: 进程号
(3)%MEM:占用cpu的百分比
(4)VSZ:分配的虚拟内存
(5)RSS:实际占用的物理内存
(6)TTY终端:?表示不依赖终端;tty1 本地登录;Pts/0 远程链接终端
(7)STAT状态:

  • S :睡眠状态可中断
  • D:不可中断睡眠状态
  • R: 正常运行
  • I :僵死状态
  • T :停止状态
  • 小s :控制性的进程
  • 小于号 < :具有高优先级
  • N :低优先级
  • + :当前进程运行在前台
  • 小l :是多线程的
    (8) START:进程出发的时间
    (9)TIME:一共占用cpu时间
    (10)COMMAND:执行命令
    (11)中括号[]内核产生——内核态
    (12)没有中括号[]用户产生——用户态

2、ps -efl命令下面的查看信息

-e:显示系统内的所有进程信息
-l:使用长格式显示进程信息
-f:使用完整的格式显示进程信息

各列的解释:
(1)F:内核分配给进程的系统标记
(2)S:进程的状态
(3)UID:启动这些进程的用户
(4)PID:进程的进程ID
(5)PPID:父进程的进程号
(6)C:进程生命周期中的CPU利用率
(7)PRI:进程的优先级
(8)NI:谦让度值用来参与决定有先级(PRI和NI是成对出现的,只能修改NI值才能改变PRI的值)
(9)ADDR:进程的内存地址
(10)SZ:假如就能成被换出,所需交换空间的大致大小
(11)WCHAN:若该进程在睡眠,则显示睡眠中的系统函数名
(12)STIME:进程启动时的系统时间
(13)TTY:进程启动时的终端设备
(14)TIME:运行进程需要的累计CPU时间
(15)CMD:进程的启动命令

三、TOP命令查看

在这里插入图片描述

1、每行对应的信息

(1)第一行任务队列信息
①22:34:03:系统时间
②up 12:22:系统已运行时长
③4 user:当前登录用户数
④load average:0.00,0.01,0.05:系统负载,即单位时间内系统处理的任务数。
(2)第二行为进程信息
①Tasks:总进程数
②running:正在运行的进程数
③sleeping:休眠的进程数
④stopped:中止的进程数
(3)第三行CPU的信息
①us:用户占用
②sy:内核占用
③ni:优先级调度占用
④id:空闲CPU,想要了解空闲的CPI百分比,主要还是看%id部分
⑤wa:I/O等待占用
⑥hi:硬件中断占用
⑦si:软件中断占用
(4)第四行内存的信息
①total:总内存空间
②free:空闲内存
③used:已用内存
④buff/cache:物理内存和交换内存的缓冲区总和
(5)第五行交换空间的信息
①total:总交换空间
②free:空闲交换空间
③used:已用交换空间
④avail Men:可用物理空间

2、进程信息区对应的解释

进程信息区的解释
(1)PID:进程id
(2)USER:进程所有者的用户名
(3)PR:优先级
(4)NI:谦让度值,负值表示高优先级,正值表示低优先级
(5)VIRT:进程使用的虚拟内存总量,单位kb
(6)RES:进程使用的虚拟内存大小,单位kb
(7)SHR:共享内存大小,单位kb
(8)S:进程状态
(9)%CPU:上次更新带现在的CPU时间占用百分比
(10)%MEM:进程使用的物理内存百分比
(11)TIME+:进程使用的CPU时间总计,单位1/100s
(12)COMMAND:命令名/命令行

3、top常用命令

①c键:切换显示命令名称和完整命令行
②h键:可以获得top程序的在线帮助信息
③M键:根据驻留内存大小进行排序
④P键:根据CPU使用百分比大小进行排序
⑤N键:根据启动时间进行排序
⑥k键:根据提示输入指定进程的PID号并按Enter键终止对应的进程
⑦z键:可以改变颜色
⑧s键:更改时间
⑨1键:显示所有的cpu
⑩q键:退出top程序

4、tty终端

①Centos7系统,tty1 表示的是图形界面,tty2-6表示文字界面,可以用Ctrl+Alt+F1-F6切换
②pts说明是远程工具连接的,如Xshell,后面的数字代表登录的时间顺序,越小证登录的时间越早6855771
四、查看进程信息–pgrep
1、pgrep命令
(1)pgrep -l +”进程号关键字“ 指定查看进程名
例如:①在第一个会话框中输入:vim /etc/fstab,

②打开进程后在复制会话框,来查看第一个会话框进程信息,然后进入第二个会话框中,使用pgrep -l “vim”的进程
(2)pgrep常用选项
①pgrep -l “进程关键字” -U 指定特定用户
先创建一个新的用户“lisi”,并设置密码。完成后将切换用户,并再次输入命令:vim /etc/fstab
再次来到复制框来查看指定用户的“vim”进程
②prep -l “进程关键字” -t 指定的终端

四、查看进程树–pstree

1、pstree命令—以树形结构列出进程信息
pstree -aup 用户名 以树形结构完整列出对应用户名及进程号
在这里插入图片描述
示例:现在在新的用户lisi里面创建一个新的文件,并进入编辑
在这里插入图片描述
在复制框会话中以树形结构完整列出lisi的进程号
在这里插入图片描述

五、进程的启动方式

1、手动启动

①前台启动:用户输入命令,直接执行程序
②后台启动:在命令行尾加入“&”符号

2、调度启动

①使用at命令,设置一次性计划任务
②使用crontab命令,设置周期性计划任务

3、进程的前后台调度

①Ctrl+z组合键
将当前程序挂起,即调入后台并停止执行
②jobs命令
jobs -l 查看处于后台的任务列表
③fg命令 将后台进程恢复前台运行,可指定任务序号七、终止进程的运行
1、Ctrl c、kill、killall
①Ctrl+c组合键:中断正在执行的命令
2、kill、killall命令
①kill用于中止指定PID号的进程
②killall用于终止指定名称相关的所有进程
③-9选项用于强制终止
3、pkill
根据特定条件终止相应的进程
①-U:根据进程所属的用户名终止相应进程
②-t:根据进程所在的终端终止相应程序

六、计划任务管理–at

1、at命令
一次性计划任务:a
t [HH:MM] [yyyy-mm-dd]
2、命令格式
在这里插入图片描述

七、计划任务管理 --crontab

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

1、管理crontab计划任务

①编辑计划任务:crontab -e -u 用户名 -u缺省时默认当前用户
②查看计划任务:crontab -l -u 用户名
③删除计划任务:crontab -r -u 用户名

2、crontab任务配置的格式

在这里插入图片描述

3、时间数值的特殊表示方法

*:表示该范围内的任意时间
,:表示间隔的多个不连续时间点
-:表示一个连续的时间范围
/:表示间隔的时间频率

应用示例:
在这里插入图片描述

相关文章:

Linux常用命令--进程和计划任务管理

一、程序和进程的关系 1、程序 ①保存在硬盘、光盘等介质中的可执行代码和数据 ②静态保存的代码 2、进程 ①在cpu及内存中运行及进程代码 ②动态执行的代码 ③父&#xff08;fork&#xff09;、子进程&#xff0c;每个程序可以创建一个或多个进程 父进程和子进程的区别&am…...

Unity TextMeshPro

Unity TextMeshPro 简介 TextMeshPro(也简称为TMP)号称是Unity的终极文本解决方案,它是Unity 的 UI 文本和旧版文本网格体的完美替代品。 功能强大且易于使用,使用高级文本渲染技术以及一组自定义着色器;提供实质性的视觉质量改进,同时在文本样式和纹理方面为用户提供令人…...

虹科分享| 浅谈HK-Edgility边缘计算平台

上周&#xff0c;我们推出了虹科新品HK-Edgility边缘计算平台以及uCPE解决方案。本篇文章我们再来谈一谈到底什么是边缘计算&#xff1f;为什么需要边缘计算&#xff1f;边缘计算和云计算有什么关系&#xff1f;HK-Edgility边缘计算平台将为您带来什么&#xff1f;一、边缘计算…...

React Router v6详解

旧版本React Router使用方式 BrowserRouter&#xff1a;通过 history 库&#xff0c;传递 history 对象&#xff0c;location 对象Switch&#xff1a;匹配唯一的路由 Route&#xff0c;展示正确的路由组件Route&#xff1a;视图承载容器&#xff0c;控制渲染 UI 组件 新版本R…...

帮助100w人成功入职的软件测试面试常见问题以及答案

测试面试题怎么来设计测试方案根据测试需求&#xff08;包括功能需求和非功能性需求&#xff09;&#xff0c;识别测试要点&#xff0c;识别测试环境要求&#xff0c;安排测试轮次&#xff0c;根据项目计划和开发计划做整体的测试安排。被测试的特性&#xff1a;通过对需求规格…...

tensorflow2.4--2.回归问题分析

文章目录前言流程案例操作前言 流程 回归问题预测连续值,在某个区间内变动. 常见的线性回归问题模型是yaxb,然而现实世界由于大量的数据偏差以及复杂度,同时还有大量的噪声,往往达不到如此的精确解,实际解决问题时需要考虑噪声的存在 对于噪声,往往我们已经假设了它符合高斯…...

【2023】DevOps、SRE、运维开发面试宝典之Kafka相关面试题

文章目录 1、消息队列的流派2、kafka的优势3、Kafka与Zookeeper的关系4、Kafka消息队列各组件概念5、Kafka消息队列应用场景6、Kafka消息收发的过程7、Kafka消息数据存储概念8、kafka消息的偏移量概念原理9、Kafka消息数据的顺序消费概念原理10、Kafka单播消费消息的原理11、Ka…...

CentOS系统编译安装PHP-5.6.27版本

一、手动安装编译工具&#xff1a; yum install -y gcc gcc-c 二、添加用户和用户组&#xff1a; groupadd web useradd -M -s /sbin/nologin -g web php 三、yum安装依赖&#xff1a; yum -y install libmcrypt libmcrypt-devel mcrypt mhash libxml2-devel libpng-devel l…...

和风SDK查询城市ID(保姆级教程)

android studio版本&#xff1a;2021.2.1例程名&#xff1a;hfserachcityid这几天没什么事做&#xff0c;而且我原来那个“项目”因为免费api不能用了&#xff0c;只能改为和风的免费api,但需要申请&#xff0c;而且还要城市ID&#xff0c;玩天气的基本都知道城市ID这个东西&am…...

暴力递归到动态规划

暴力递归到动态规划 假设有排成一行的n个位置&#xff0c; 记为1~n&#xff0c;n-定大于或等于2。开始时机器人在其中的m位置上(m 一定是1~n中的一个)。如果机器人来到1位置&#xff0c;那么下一步只能往右来到2位置&#xff1b;如果机器人来到n位置&#xff0c; 那么下一步只能…...

Java:Java仍然处于领先地位?

没有多少编程语言能够自吹自擂并持续流行20多年&#xff0c;但Java就是其中之一。Java应用程序不仅局限于web和移动开发&#xff0c;而且给大数据和人工智能留下了深刻的印象。不用多说&#xff0c;让我们讨论一下Java流行的几个原因!!1.实用性根据JamesGosling的说法&#xff…...

虚拟地址空间

本节目录1.如何理解区域划分2.为什么一个变量可以存储两个不同的值&#xff1f;3.深入理解虚拟地址空间为什么要有地址空间&#xff1f;4.理解什么是挂起&#xff1f;1.虚拟地址空间究竟是什么&#xff1f;2.映射关系的维护是谁做的&#xff1f;1.如何理解区域划分 所谓的区域…...

Python基础篇(十五)-- Pygame游戏编程

1 初识Pygame Pygame是一个开源的Python模块&#xff0c;专门用于多媒体应用&#xff08;如电子游戏&#xff09;的开发&#xff0c;其中包含对图像、声音、视频、事件、碰撞等的支持。Pygame建立在SDL的基础上&#xff0c;SDL是一套跨平台的多媒体开发库&#xff0c;用C语言实…...

LeetCode 热题 HOT 100 Java 题解 -- Part 2

练习地址 Part 1 : https://blog.csdn.net/qq_41080854/article/details/128829494 LeetCode 热题 HOT 100 Java 题解 -- Part 236. 二叉树的中序遍历 9437. 不同的二叉搜索树 9638. 验证二叉搜索树 9839. 对称二叉树 10140. 二叉树的层序遍历 10241. 二叉树的最大深度 10442.…...

【项目实战】IDEA常用快捷键汇总

一、修改为Eclipse的快捷键 相信很多朋友跟我一样&#xff0c; 都是习惯了eclipse的快捷键&#xff0c;没错&#xff0c;习惯这东西真的很难改&#xff01;IDEA非常强大&#xff0c;支持我们修改IDEA中的keymap为Eclipse的快捷键&#xff01;友好又贴心&#xff0c;有没有&…...

更新 TKK 失败,请检查网络连接。谷歌翻译 translation插件不能用解决办法 亲测有效

谷歌翻译无法使用&#xff0c;谷歌回应解释是&#xff0c;谷歌翻译使用率过低&#xff0c;所以选择停止服务。网上也有说法&#xff0c;指出根本原因为&#xff0c;提供API接口的googleapis被墙&#xff0c;这导致js文件和字体资源无法加载。 这里提供两种解决办法 方案一 修…...

SpringBoot整合MybatisPlus多数据源

相信在很多使用MybatisPlus框架的小伙伴都会遇到多数据源的配置问题&#xff0c;并且官网也给出了推荐使用多数据源 (dynamic-datasource-spring-boot-starter) 组件来实现。由于最近项目也在使用这个组件来实现多数据源切换&#xff0c;因此想了解一下该组件是如何运行的&…...

【教程】如何使用Java生成PDF文档?

在如今数字化时代&#xff0c;越来越多的人使用PDF文档进行信息传递和共享。而使用Java生成PDF文档也成为了一个非常重要的技能&#xff0c;因为Java作为一种通用的编程语言&#xff0c;可以在不同的操作系统和平台上运行。下面&#xff0c;我们将为您介绍如何使用Java生成PDF文…...

I.MX6ULL内核开发13:pinctrl子系统和gpio子系统-led实验

目录 一、pinctrl子系统 1.1 pinctrl子系统编写格式以及引脚属性介绍 1.1.1 iomux节点介绍 1.1.2 pinctrl子节点编写格式 1.1.3 引脚配置信息介绍 1.2 将RGB灯引脚添加到pinctrl子系统 1.2.1 查找RGB灯使用的引脚 1.2.2找到引脚宏定义 1.2.3 设置引脚属性 1.2.4 在…...

Linux系列 使用vi文本编辑器

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.vi文本编辑器 1.使用vi文本编辑器 2.vi编辑器的工作模式 3.命令模式中的…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...