Linux:进程和计划任务管理

目录

一、程序和进程

1.1、程序

1.2、进程

1.3、线程

1.4、协程

二、查看进程相关命令

2.1、ps命令(查看静态的进程统计信息)

第一行为列表标题,其中各字段的含义描述如下

2.2、top命令(查看进程动态信息)

2.3、pgrep命令(查询进程信息)

2.4、pstree命令(树形结构列出进程信息)

三、进程管理

3.1、手动启动

"命令 &",把命令放入后台执行

3.2、jobs命令(查看处于后台的任务列表)

3.3、kill命令(终止进程)

3.4、pkill命令(终止进程)

四、计划任务管理

4.1、at命令(一次性)

4.2、crontab命令(周期性任务设置)


一、程序和进程

1.1、程序

程序: 执行特定任务的一串代码

是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具

用于描述进程要完成的功能,是控制进程执行的指令集

1.2、进程

运行中的程序的一个副本,是被载入内存的一个指令集合,是资源分配的单位

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

进程:都由其父进程创建,父子关系

进程具有的特征:
动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态消亡的;
并发性:任何进程都可以同其他进程一起并发执行;
独立性:进程是系统进行资源分配和调度的一个独立单位;
结构性:进程由程序、数据和进程控制块三部分组成。

1.3、线程

线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处理器调度和分派的基本单位。

一个进程可以有一个或多个线程,各个线程之间共享程序的内存空间(也就是所在进程的内存间)。


减少硬件资源的消耗,进程切换 ,相同资源的存储

1.4、协程

 利用了线程等待的这个时间可以做别的事情

二、查看进程相关命令

2.1、ps命令(查看静态的进程统计信息)

ps [选项]

-a:显示当前终端下的所有进程信息,包括其他用户的进程。与“x”选项结合时将显示系统中所有的进程信息。
-u:使用以用户为主的格式输出进程信息。
-x:显示当前用户在所有终端下的进程信息。
ps -aux        #将以简单列表的形式显示出进程信

第一行为列表标题,其中各字段的含义描述如下

USER启动该进程的用户账号的名称
PID该进程在系统中的数字 ID 号,在当前系统中是唯一的
%CPUCPU 占用的百分比
%MEM内存占用的百分比
VSZ该进程使用的虚拟内存量(KB)
RSS该进程占用的物理内存量(KB)
TTY表明该进程在哪个终端上运行。不是从终端启动的进程则显示为?
STAT该进程的状态
START启动该进程的时间
TIME该进程占用的 CPU 时间
COMMAND启动该进程的命令的名称

STAT:进程的状态

D:不可被唤醒的睡眠状态,通常用于 I/O 情况。
R:该进程正在运行。
S:该进程处于睡眠状态,可被唤醒。
T:停止状态,可能是在后台暂停或进程处于除错状态。
W:内存交互状态(从 2.6 内核开始无效)。
X:死掉的进程(应该不会出现)。
Z:僵尸进程。进程已经中止,但是部分程序还在内存当中。
<:高优先级(以下状态在 BSD 格式中出现)。
N:低优先级。
L:被锁入内存。
s:包含子进程。
l:多线程(小写 L)。
+:位于后台。
C:进程占用CPU的百分比

2.2、top命令(查看进程动态信息)

top 命令全屏操作界面快捷键:
默认 3s 刷新一次,按 s 修改刷新时间按空格 :立即刷新。
P:按 CPU 排序
M:按内存排序
T:按时间排序
p: 进程 IP,查看某个进程状态
N 键根据启动时间进行排序
数字键 1:显示每个内核的 CPU 使用率u/U:指定显示的用户
h:可以获得 top 程序的在线帮助信息
q:键可以正常地退出 top 程序

2.3、pgrep命令(查询进程信息)

常用的参数:
-l:选项可同时输出对应的进程名以及PID
-U:选项查询特定用户的进程
-t:选项查询在特定终端运行的进程

2.4、pstree命令(树形结构列出进程信息)

常用的参数:

-p:选项使用时可以同时列出对应的PID号
-u:选项可以列出对应的用户名
-a:选项可以列出完整的命令信息

-T:不显示线程thread,默认显示线程

-H:pid 高亮显示指定进程及其前辈进程

三、进程管理

3.1、手动启动

前台启动:通过终端启动,且启动后一直占据终端

后台启动:可通过终端启动,但启动后即转入后台运行(释放终端)

"命令 &",把命令放入后台执行

让作业运行于后台

    运行中的作业: ctrl+z 放到后台 但是会停止作业

    尚未启动的作业: command &

第一种把命令放入后台的方法是在命令后面加入 空格 & 。使用这种方法放入后台的命令,在后台处于执行状态

注意,放入后台执行的命令不能与前台有交互,否则这个命令是不能在后台执行的

3.2、jobs命令(查看处于后台的任务列表)

-l:选项可以同时显示该进程对应的PID号

bg(BackGround,后台)命令:可以将后台中暂停执行(如按 Ctrl+Z 组合键挂起)的任务恢复运行,继续在后台执行操作

fg 命令(ForeGround,前台):可以将后台任务重新恢复到前台运行

##除非后台中的任务只有一个,否则 bg 和 fg 命令都需要指定后台进程的任务编号作为参数

ping 命令:并行执行任务

3.3、kill命令(终止进程)

kill [ 信号 ] PID
killall [ 选项 ] [ 信号 ] 进程名
-i :交互式,询问是否要杀死某个进程;
-I :忽略进程名的大小写;
信号编号信号名含义
0EXIT程序退出时收到该消息
1HUP挂点电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化
2INT表示结束进程但不是强制性的,常用的”Ctrl+c“组合键发出的就是一个kill -2 的信号
3QUIT退出
9KILL杀死进程,即强制结束进程
11SEGV段错误
15TERM正常结束进程,是kill命令的默认信号

3.4、pkill命令(终止进程)

pkill [-t 终端号] 进程名
-U:根据进程所属的用户名终止相应进程
-t:根据进程所在的终端终止相应进程,

四、计划任务管理

4.1、at命令(一次性)

at [时间]

at>给出什么操作

Ctrl+d 提交命令

atq

查看已经设置但还未执行的计划任务,已执行过的 at 任务将不会再出现在列表中。

atrm [编号]

删除指定编号的 at 任务,删除后的 at 任务将不会被执行,已经执行过的任务无法删除

4.2、crontab命令(周期性任务设置)

crontab 通过多个目录和文件设置计划任务,不同类型的任务由不同的配置文件来设置。

选项功能
-u
-e
-l显示某用户的crontab文件内容。
-r
-i在删除用户的crontab文件时,给确认提示。
crontab -e
# 进入 crontab 编辑界面。会打开 Vim 编辑你的任务
* * * * * 执行的任务
项目含义范围
第一个"*"一小时当中的第几分钟(minute)0~59
第二个"*"一天当中的第几小时(hour)0~23
第三个"*"一个月当中的第几天(day)1~31
第四个"*"一年当中的第几个月(month)1~12
第五个"*"一周当中的星期几(week)0~7(0和7都代表星期日)
在时间表示中,还有一些特殊符号需要学习
特殊符号含义
* (星号)代表任何时间,比如第一个"*"就代表一小时每分钟都执行一次的意思
,(逗号)代表不连续的时间。比如“0 8,12, 16***命令”就代表在每天的8点0分、12点0分、16点0分都执行一次命令
-   (中杠)代表连续的时间范围。比如“0 5 ** 1-6命令”,代表在周一到周六的凌晨5点0分执行命令
/ (正斜线)代表每个多久执行一次。比如“*/10”命令,代表每隔10分钟就执行一次命令

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

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

相关文章

商城积分系统的设计方案(上)-- 需求分析

一、背景 用户在参与公司的促销活动&#xff0c;比如邀请用户下单支付&#xff0c;可以获得虚拟货币。它可以用于解锁学习课程。 商品在定价的时候&#xff0c;需支持虚拟货币&#xff0c;用户在购买该商品的时候&#xff0c;可使用虚拟货币进行支付。 在电商体系中&#xf…

PID算法介绍以及代码实现过程说明

写在正文之前 在上一篇文章就说会在这两天会基于PID写一个文章&#xff0c;这里的原理部分值得大家都看一下&#xff0c;代码部分的实现是基于python的&#xff0c;但是对于使用其他编程语言的朋友&#xff0c;由于我写的很通俗易懂&#xff0c;所以也值得借鉴。 一、PID算法…

linux基于wifi,Xshell的远程连接

最近有个比赛&#xff0c;要使用ros小车但是系统是ubuntu20.04无桌面系统刚开始接触linux的我啥都不会&#xff0c;就一个简单的连接wifi都搞了3天才搞通。再此进行一个总结。参考博客原文链接&#xff1a;https://blog.csdn.net/qq_51491920/article/details/126221940 一、什…

短说V4.1.5及PC端V3.1.4正式版发布公告

Hi 大家好&#xff0c; 我是给你们带来惊喜的运营小番茄。 本期更新为短说 4.1.5和PC端3.1.4的正式版。 本次修复上个版本中的问题和功能优化&#xff0c;以及新增了如下功能&#xff1a; PC端支持发布秀米帖&#xff0c;可支持部分秀米格式&#xff1b;后台管理类消息新增…

【秋招刷题打卡】Day03-二分系列之-二分答案

Day03-二分系列之-二分答案 给大家推荐一下咱们的 陪伴打卡小屋 知识星球啦&#xff0c;详细介绍 >笔试刷题陪伴小屋-打卡赢价值丰厚奖励 < ⏰小屋将在每日上午发放打卡题目&#xff0c;包括&#xff1a; 一道该算法的模版题 (主要以力扣&#xff0c;牛客&#xff0c;…

43 mysql insert select 的实现

前言 我们这里 来探讨一下 insert into $fields select $fields from $table; 的相关实现, 然后 大致来看一下 为什么 他能这么快 按照 我的思考, 应该里里面有 批量插入才对, 但是 调试结果 发现令我有一些意外 呵呵 果然 只有调试才是唯一的真理 测试数据表如下 CREATE…

数字社交的领航者:解析Facebook的引领作用

在当今数字化社会中&#xff0c;社交网络已经成为了人们日常生活不可或缺的一部分。而在众多社交平台中&#xff0c;Facebook凭借其巨大的用户基础和创新的技术应用&#xff0c;被公认为数字社交领域的领航者之一。本文将深入解析Facebook在数字社交中的引领作用&#xff0c;探…

这三款工具很好用,赶快试试

FileZilla FileZilla是一款免费开源的FTP软件&#xff0c;分为客户端版本和服务器版本&#xff0c;具备所有的FTP软件功能。它是一个快速、可信赖的FTP客户端以及服务器端开放源代码程序&#xff0c;具有多种特色和直觉的界面。FileZilla客户端版是一个方便高效的FTP客户端工具…

第一后裔The First Descendant开服时间、配置要求一览

第一后裔是一款采用虚幻5引擎打造的第三人称合作射击动作RPG&#xff0c;玩家将化身为一名继承者&#xff0c;通过各种任务和故事不断成长&#xff0c;为守护人类与对抗侵略者战斗。该作即将上线&#xff0c;为了不让玩家们错过这款精彩的游戏&#xff0c;本文整理了第一后裔上…

测评:【AI办公】版本更迭与AI加持下的最新ONLYOFFICE桌面编辑器8.1

你是否还在为没有一款合适的在线桌面编辑器而苦恼&#xff1f;你是否还在因为办公软件的选择过少而只能使用WPS或者office&#xff1f;随着办公需求的不断变化和发展&#xff0c;办公软件也在不断更新和改进。ONLYOFFICE 作为一款全功能办公软件&#xff0c;一直致力于为用户提…

2024年全国青少年信息素养大赛图形化编程复赛样题_6547网

第 1 题 问答题 【编程实现】 按空格键随机切换背景&#xff0c;让背景对应的角色造型显示在舞台上。 【具体要求】 对角色编程&#xff0c;当按下空格键时&#xff0c;背景随机切换&#xff1b; 角色切换成对应的造型显示在舞台上&#xff1b; 角色说“我是”和它的造…

帮助你简易起步一个BLOG(博客搭建)项目

Blog项目 后端项目结构1. 项目初始化2. 详细步骤3.postman测试 前端1. 项目初始化2. 详细步骤 本章节是为了帮助你起步一个完整的前后端分离项目。 前端技术栈&#xff1a; react、vite、mantine、tailwind CSS、zustand、rxjs、threejs 后端技术栈&#xff1a;nodemon、nodej…

Transformer教程之神经网络和深度学习基础

在当今的人工智能领域&#xff0c;Transformer已经成为了一个热门的词汇。它不仅在自然语言处理&#xff08;NLP&#xff09;领域取得了巨大的成功&#xff0c;还在计算机视觉等其他领域展现出了强大的潜力。然而&#xff0c;要真正理解Transformer&#xff0c;我们首先需要扎实…

gdb用法

创建文件 // main.cpp文件 // 稳态误差 void pid_test_wentaiwucha() {float p 1.5;int t 1; // t 1s;int target 5; // 5m/sfloat output 0;float radis 3; // 稳态误差std::cout << "output: " << std::endl;fo…

并发 多线程

目录 thread thread 类总览 构造函数 join joinable ​编辑 detach swap yield swap 成员函数的调用 namespace::this_thread 线程同步--锁 互斥锁mutex 递归锁recursive_mutex 定时锁 Lock 锁辅助类 lock_guard​编辑 unique_lock std::lock 解决死锁问题 消息…

浅谈逻辑控制器之随机顺序控制器

浅谈逻辑控制器之随机顺序控制器 随机顺序控制器&#xff08;Random Order Controller&#xff09;作为一个独特的逻辑控制器&#xff0c;为测试脚本的执行增添了一层随机性&#xff0c;特别适用于模拟用户行为中不确定的访问模式。 随机顺序控制器概述 随机顺序控制器&…

代码随想录算法训练营第三十六天|62.不同路径、 63. 不同路径 II、343.整数拆分(可跳过)、96.不同的二叉搜索树(可跳过)

62.不同路径 题目链接&#xff1a;62.不同路径 文档讲解&#xff1a;代码随想录 状态&#xff1a;还行 思路&#xff1a;当前状态的只有可能是从上面或者左边过来的&#xff0c;所以 dp[i][j] dp[i-1] dp[j-1] 题解&#xff1a; public int uniquePaths(int m, int n) {if (…

Docker 安装Nginx部署网站 防火墙端口 数据卷挂载

拉取镜像 docker pull nginx#不写版本号 表示最新版本查看是否拉取成功 docker images#成功 nginx latest 605c77e624dd 2 years ago 141MB mysql 8.0 3218b38490ce 2 years ago 516MB mysql latest 3218b38490ce 2 years ago 5…

virtualbox(7.0) ubuntu(22) 和win11共享文件夹

在虚拟机中安装增强功能。在virtualbox中配置 执行命令将用户加入vboxsf组 sudo adduser your_usrname vboxsf 重启ubuntu即可

LeetCode 585, 438, 98

目录 585. 2016年的投资题目链接表要求知识点思路代码 438. 找到字符串中所有字母异位词题目链接标签思路代码 98. 验证二叉搜索树题目链接标签合法区间思路代码 中序遍历思路代码 585. 2016年的投资 题目链接 585. 2016年的投资 表 表Insurance的字段为pid、tiv_2015、tiv…