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

news2024/9/29 11:25:19

一、程序和进程的关系

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、时间数值的特殊表示方法

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

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

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

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

相关文章

springboot如何获取websocket的header头信息

websocket协议与http协议类似&#xff0c;也有属于自己的头信息&#xff0c;如下图所示&#xff0c;为postman在连接时自定义的header&#xff1a; 那么在后端中&#xff0c;如何像http的HttpServletRequest一样来获取这个头信息的内容呢? 自定义一个WebSocket配置类&#xff…

【LeetCode】剑指 Offer 19. 正则表达式匹配 p124 -- Java Version

题目链接&#xff1a;https://leetcode.cn/problems/zheng-ze-biao-da-shi-pi-pei-lcof/ 1. 题目介绍&#xff08;19. 正则表达式匹配&#xff09; 请实现一个函数用来匹配包含. 和*的正则表达式。模式中的字符.表示任意一个字符&#xff0c;而’*表示它前面的字符可以出现任意…

图解LeetCode——剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

一、题目 输入一个整数数组&#xff0c;实现一个函数来调整该数组中数字的顺序&#xff0c;使得所有奇数在数组的前半部分&#xff0c;所有偶数在数组的后半部分。 二、示例 2.1> 示例&#xff1a; 【输入】nums [1,2,3,4] 【输出】[1,3,2,4] 【注】[3,1,2,4] 也是正确的…

基于vscode创建SpringBoot项目,连接postgresql数据库

1、Vue下载安装步骤的详细教程(亲测有效) 1_水w的博客-CSDN博客 2、Vue下载安装步骤的详细教程(亲测有效) 2 安装与创建默认项目_水w的博客-CSDN博客 3、基于vscode开发vue项目的详细步骤教程_水w的博客-CSDN博客 4、基于vscode开发vue项目的详细步骤教程 2 第三方图标库FontAw…

最新的Windows docker安装方法

什么是Docker&#xff1f;关于Docker的相关概述&#xff0c;请看&#xff1a;Docker_面向架构编程的博客-CSDN博客在Windows10 or Windows11中安装docker主要就两步&#xff1a;1.安装wsl22. 安装docker一、安装WSL2安装wslwsl --install然后重启一下电脑在cmd窗口可以查看自己…

如何使用CVE-Tracker随时获取最新发布的CVE漏洞信息

关于CVE-Tracker CVE- Tracker是一款功能强大的CVE漏洞信息收集和更新工具&#xff0c;该工具基于自动化ps脚本实现其功能&#xff0c;可以帮助广大研究人员轻松获取到最新发布的CVE漏洞信息。 CVE-Tracker采用PowerShell开发&#xff0c;可以在操作系统启动的时候自动运行Mi…

计算机组成原理4小时速成5:系统总线,总线分类,数据总线,地址总线,控制总线,总线传输率

计算机组成原理4小时速成5&#xff1a;系统总线&#xff0c;总线分类&#xff0c;数据总线&#xff0c;地址总线&#xff0c;控制总线&#xff0c;总线传输率 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学…

华为6面,测试岗报价11k,HR说我不尊重华为,他们没有那么低薪资岗位?

在不知道一个公司的普遍薪资水平的时候&#xff0c;很多面试者不敢盲目的开价&#xff0c;但就因为这样可能使得面试官怀疑你的能力。一位网友就在网上诉说了自己的经历&#xff0c;男子是一位测试员&#xff0c;已经有九年的工作经历了&#xff0c;能力自己觉得还不错。 因为…

matlab-初学

初次学习了解matlab的相关知识&#xff0c;跟着b站博主学习的&#xff0c;仅此记录学习过程的笔记与感悟。命令行小常识1.命令行给变量赋值&#xff0c;回车即运行一行。2.逗号反馈这一行所有的变量结果&#xff1b;分号则不反馈&#xff0c;单实际变量值已经改变(只是不在下方…

22- estimater使用 (TensorFlow系列) (深度学习)

知识要点 estimater 有点没理解透 数据集是泰坦尼克号人员幸存数据. 读取数据&#xff1a;train_df pd.read_csv(./data/titanic/train.csv) 显示数据特征&#xff1a;train_df.info() 显示开头部分数据&#xff1a;train_df.head() 提取目标特征&#xff1a;y_train tr…

Web前端:四大Web应用开发趋势和技术

就像其他行业一样&#xff0c;web应用程序开发每年都会经历巨大的变化。就像人们说的&#xff0c;变化是技术中唯一不变的东西。因此&#xff0c;我们这里有一些你可以期待的市场变化。Web应用开发趋势和技术1.市场对聊天机器人和人工智能寄予厚望已经说过很多次&#xff0c;也…

java 面试

面试目录概述需求&#xff1a;设计思路实现思路分析1.面试概要参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better result,wait for change,challenge Survive. happy f…

JSTL核心库的简单使用

JSTL核心库的简单使用 7.1考试重点 7.1.1c:out输出数据 考试重点就是c的相关的 jar包下载地址:Apache Tomcat - Apache Taglibs Downloads 看会典型应用就可以<% page contentType"text/html;charsetUTF-8" language"java" %> <% taglib uri"…

DolphinDB 通过 Telegraf + Grafana 实现设备指标的采集监控和展示

基于原始数据采集的可视化监控是企业确保设备正常运行和安全生产的重要措施。本文详细介绍了如何从DolphinDB 出发&#xff0c;借助 Telegraf 对设备进行原始数据采集&#xff0c;并通过 Grafana 实现数据的可视化&#xff0c;从而实现设备指标的实时监控。1. 概览Telegraf 是 …

Mybatis-plus逻辑删除更新字段

MybatisPlus版本 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.2</version> </dependency> <dependency><groupId>com.baomidou</groupId&g…

优思学院|DFMEA是全球制造业的必修课!

DFMEA&#xff08;Design Failure Mode and Effects Analysis&#xff09;是一种分析技术&#xff0c;在产品设计的早期阶段识别和解决潜在的失效问题。它通过分析设计的各个方面&#xff0c;识别潜在的失效模式和影响&#xff0c;并提出相应的改进措施&#xff0c;以减少失效的…

服装企业 采购系统

技术&#xff1a;Java、JSP等摘要&#xff1a;随着我国市场经济的不断发展,企业之间的竞争越来越激烈,只有对企业库存物资资源全面掌握,充分发挥闲置资源的利用,对资源进行优化配置,才能使企业效益达到最大化。只有通过规范科学的物资管理手段,才能节省物资采购成本,提高工作效…

Java——面向对象

目录 前言 一、什么是面向对象&#xff1f; 面向过程 & 面向对象 面向对象 二、回顾方法的定义和调用 方法的定义 方法的调用 三、类与对象的创建 类和对象的关系 创建与初始化对象 四、构造器详解 五、创建对象内存分析 六、封装详解 七、什么是继承&#x…

Unity TextMeshPro

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

Python基础教程(入门教程),初学者学Python编程如何快速入门?

【导语】Python是一种跨平台的计算机程序设计语言&#xff0c;通过Python编程&#xff0c;我们能够解决现实生活中的很多困难&#xff0c;现如今&#xff0c;我们工作中的许多工作都需要通过编写计算机软件来完成&#xff0c;那么初学者学Python编程如何快速入门呢?下面就来给…