Linux进程和任务管理

目录

一.程序和进程的关系

程序

进程

线程

线程与进程的区别

二.查看进程信息ps

方法一

常用选项

方法二

三.TOP动态查看进程信息

进程信息区各列解释

top常用命令

系统查看命令总结

查看进程信息pgrep

查看进程树pstree

四.控制进程

进程的启动方式

进程的前后台调度

终止进程的运行

终止进程的运行pkill

查看终端信息的命令(who、w、ps aux)

五.计划任务管理

一次性计划任务

周期性计划任务

crontab命令

实列


一.程序和进程的关系

程序

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

进程

  • 在CPU及内存中运行的程序代码·动态执行的代码
  • 父、子进程
  • 每个程序可以创建一个或多个进程

线程

  • 指在一个进程中执行的一个单一线性流程
  • 一个进程可以包含多个线程,这些线程可以并发执行,同时共享进程的资源,每个线程都有自己的程序计数器、堆栈和局部变量,但它们共享全局变量和静态变量
  • 是操作系统(或者在用户空间的线程库)所管理的最小执行单元,它能独立运行、调度和管理资源
  • 在多线程系统中,多个线程可以同时运行,从而实现并发执行,提高系统的效率和利用率。同时,由于线程可以共享相同的内存空间
  • 线程间的通信和同步较为方便。
     

线程与进程的区别

  • 进程是程序的一次执行,"它是资源分配和管。理的基本单位,包括代码、数据、堆栈、文件句柄等。
  • 线程是进程中的一个执行流程,是CPU调度的基本单位,共享进程的资源,包括内存、文件和其他系统资源。
  • 进程之间通常是相互独立的,每个进程有独立的内存空间,通过进程间通信(IPC)来实现数据共享和通信。
  • 线程之间共享相同的地址空间和其他进程资源,线程之间的数据共享和通信更为方便

二.查看进程信息ps

方法一

ps aux

常用选项
  • a:显示现行终端下的所有进程,包括其它用户的进程。
  • u:显示进程的归属用户及内存的使用情况。
  • x:显示所有终端的进程。
  • h:不显示标题列。
  • [root@localhost ~]# ps aux  
    USER        PID    %CPU      %MEM        VSZ         RSS                                 
    进程用户   进程的id  CPU百分比 内存的百分比 虚拟内存量  实际物理内存量TTY            STAT          START      TIME                COMMAND启动进程的终端名    该进程的状态    启动时间    实际使用CPU的时间     进程的名称与参数。root         2      0.0       0.0          0            0  ?             S             09:41     0:00                [kthreadd]
    

各列的解释:
 

USER进程的用户
PID进程的ID
%CPU进程占用的CPU百分比,占用越高,进程越耗费资源
%MEM占用内存的百分比
VSZ该进程使用的虚拟内存量(KB)
RSS该进程占用的实际物理内存量(KB)
TTY启动进程的终端名。不是从终端启动的进程则显示为 ?
STAT

该进程的状态

D:不可中断的休眠状态;

R:正在运行状态;

S:处于休眠状态,可被唤醒;

T:停止状态,可能是在后台暂停或进程处于跟踪调试状态;Z:僵尸进程,进程已经中止,但是部分程序还在内存当中

START该进程被启动时间
TIME该进程实际使用CPU的时间
COMMAND进程的名称与参数

方法二

ps -elf

常用选项

  • -e:显示系统内的所有进程信息。
  • -l:使用长格式显示进程信息。
  • -f:使用完整的格式显示进程信息。
  • -a:显示现行终端下的所有进程。
  • -T:查看线程信息。
  • -C <进程名称>:显示指定进程名的信息。
  • -p <进程pid>:显示指定pid的进程的信息。
  • -H:显示树状结构,表示进程间的相互关系。
  • --no-headers:不显示标题列
  • [root@localhost ~]# ps -elf F                               S           UID                   PID   
    内核分配给进程的系统标记      进程的状态    启动这些进程的用户 进程的进程ID
    PPID                       C                PRI               NI                        
    父进程的进程号  进程生命周期中的CPU利用率   进程的优先级     谦让度值用来参与决定优先级
    ADDR                SZ                                      WCHAN                      进程的内存地址  假如进程被换出,所需交换空间的大致大小       若该进程在睡眠,则显示睡眠中的系统函数名 STIME                   TTY                     TIME                    CMD
    进程启动时的系统时间     进程启动时的终端设备  运行进程需 要的累计CPU时间  进程的启动命令1                                S           root                  2      0                        0                  80                 0 -                   0                                         kthrea 
    09:41                       ?                      00:00:00               [kthreadd] 
    

    各列的解释

  • F内核分配给进程的系统标记
    S进程的状态
    UID启动这些进程的用户
    PID进程的进程ID
    PPID父进程的进程号(如果该进程是由另一个进程启动的)
    C进程生命周期中的CPU利用率
    PRI进程的优先级(越大的数字代表越低的优先级)
    NI谦让度值用来参与决定优先级
    ADDR进程的内存地址
    SZ假如进程被换出,所需交换空间的大致大小
    WCHAN若该进程在睡眠,则显示睡眠中的系统函数名
    STIME进程启动时的系统时间
    TTY进程启动时的终端设备
    TIME运行进程需要的累计CPU时间
    CMD进程的启动命令

ps -aT            显示所有线程

ps -T -p <pid>        查看指定进程中已经起的线程

ps -L <pid>         查看指定进程中的线程信息

ps aux --sort -%cpu | head -10   按cpu降序排列,-为降序,+为升序,p与%同义
ps aux --sort +pmem | head -n 10  按内存升序排列
ps aux --sort -pcpu,+pmem | head -n 10

三.TOP动态查看进程信息

  • 查看动态的进程排名信息(每5秒刷新一次页面数据)

按键盘数字1可以查看系统内每个cpu的使用情况,再次按1将返回显示系统内cpu的平均使用情况。

进程信息区各列解释

top常用命令

top -H:显示所有线程
top -H -p <pid>:显示特定进程中的线程

系统查看命令总结

查看进程信息pgrep

pggrep

查看进程树pstree

pstree

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

四.控制进程

进程的启动方式

进程的前后台调度

Ctrl+Z组合键:将当前进程挂起,即调入后台并停止执行

jobs命令:jobs [-l]查看处于后台的任务列表

fg命令:将后台进程恢复到前台运行,可指定任务序号

终止进程的运行

Ctrl+C组合键     中断正在执行的命令

kill、kilall命令

  • kill用于终止指定PID号的进程
  • killall用于终止指定名称相关的所有进程
  • -9选项用于强制终止
  • (1)SIGHUP:重载配置文件,但是不杀死任务,效果等同于reboot;
  • (3)SIGQUIT:给予提示信息,保存日志文件及程序执行信息;
  • (9) SIGKILL:表示进程被终止,需要立即退出,强制杀死该进程,这个信号不能被捕获也不能被忽略;
  • (15)SIGTERM:告诉进程需要被关闭,请自行停止运行并退出;
  • 补充: 我们经常会用到kill命令去杀死一个进程,但是有时会出现kill不成功的现象,这时就要用到kill -9。
  • 之所以这两个命令会有区别是因为所发送的信号(signal)是不同的。默认情况下kill命令的参数为-15。
  • kill -15代表的信号为SIGTERM,这是告诉进程你需要被关闭,请自行停止运行并退出;
  • 而kill -9代表的信号是SIGKILL,表示进程被终止,需要立即退出;
  • 因此kill -9表示强制杀死该进程,这个信号不能被捕获也不能被忽略。

终止进程的运行pkill

pkill命令:根据特定条件终止相应的进程;

  • -U:根据进程所属的用户名终止相应进程
  • -t:根据进程所在的终端终止相应进程

查看终端信息的命令(who、w、ps aux)

五.计划任务管理

一次性计划任务

  • ● 使用at命令设置的任务只在指定时间点执行一次,若只指定时间则表示当天的该时间,若只指定日期则表示该日期的当前时间
  • ● 可以在at交互环境中输入多条命令,最后按Ctrl+D组合键提交

at [HH:MM] [yyyy-mm–dd]:在特定时间##年##月##日##时##分,设置一次性计划任务

周期性计划任务

crontab命令

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

  •  

实列

[root@localhost tmp]# crontab -l
no crontab for root
[root@localhost tmp]# systemctl status crond.service
● crond.service - Command SchedulerLoaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)Active: active (running) since 四 2024-04-18 16:40:11 CST; 29min agoMain PID: 1261 (crond)Tasks: 1CGroup: /system.slice/crond.service└─1261 /usr/sbin/crond -n4月 18 16:40:11 localhost.localdomain systemd[1]: Started Command Scheduler.
4月 18 16:40:11 localhost.localdomain crond[1261]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 56% if used.)
4月 18 16:40:12 localhost.localdomain crond[1261]: (CRON) INFO (running with inotify support)
[root@localhost tmp]# crontab -e 
no crontab for root - using an empty one
crontab: installing new crontab
[root@localhost tmp]# crontab -l
30  9-17  1-15  2,12   *     /usr/bin/ls
[root@localhost tmp]# cd /var/spool/cron 
[root@localhost cron]# cat root
30  9-17  1-15  2,12   *     /usr/bin/ls
[root@localhost cron]# echo '30 7 * * 6 /usr/bin/systemctl httpd restart' >> /var/spool/cron/root
[root@localhost cron]# crontab -l
30  9-17  1-15  2,12   *     /usr/bin/ls
30 7 * * 6 /usr/bin/systemctl httpd restart
[root@localhost cron]# crontab -e #打开crontab
crontab: installing new crontab

[root@clr /var/spool/cron]# vim /etc/crontab  #修改全局配置文件也可以编辑crontab计划SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root# For details see man 4 crontabs# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
*/5 * * * * root#(此处需要添加指定用户名) /usr/bin/ls                                                   

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

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

相关文章

Java面试八股之重写一个对象的equals方法,需要考虑哪些问题

重写一个对象的equals方法&#xff0c;需要考虑哪些问题 遵守equals()约定&#xff1a; 重写equals()方法应遵循Object类中定义的equals()方法约定&#xff0c;即实现自反性&#xff08;x.equals(x)始终为true&#xff09;、对称性&#xff08;若x.equals(y)为true&#xff0…

【电控笔记5.5】psms规格参数

规格参数 转矩常数Kt与反电动势常数Ke Kt:没安培电流产生多少转矩量 Ke或Kb:每单位转速产生的反电动势电压 反电动势是梯形波,Kt=Ke;正弦波则不相等 q轴电流与反电动势都领先转子磁通链90

谷粒商城学习笔记

1.系统架构 2.环境准备 21.安装Linux 1.VirtualBox: https://download.virtualbox.org/virtualbox/6.0.10/VirtualBox-6.0.10-132072-Win.exe 2.安装 Vagrant 1).Vagrant 下载地址: https://releases.hashicorp.com/vagrant/2.2.5/vagrant_2.2.5_x86_64.msi https://www…

7.Prism框架之对话框服务

文章目录 一. 目标二. 技能介绍① 什么是Dialog?② Prism中Dialog的实现方式③ Dialog使用案例一 (修改器)④ Dialog使用案例2(异常显示窗口) 一. 目标 1. 什么是Dialog?2. 传统的Dialog如何实现?3. Prism中Dialog实现方式4. 使用Dialog实现一个异常信息弹出框 二. 技能介…

Proxyman Premium for Mac:网络调试利器,开发者首选!

Proxyman Premium for Mac是一款功能强大的网络调试和分析工具&#xff0c;专为开发者和测试人员打造。这款软件以其出色的性能和丰富的功能&#xff0c;帮助用户在网络开发和调试过程中更有效地分析和拦截网络请求&#xff0c;进行必要的修改和重发&#xff0c;从而进行更深度…

【Linux基础】Linux基础概念

目录 前言 浅谈什么是文件&#xff1f; Linux下目录结构的认识及路径 目录结构 路径 家目录 什么是递归式的删除 重定向 输出重定向&#xff1a; 追加重定向&#xff1a; 输入重定向&#xff1a; 命令行管道 shell外壳 为什么需要shell外壳&#xff1f; shell外壳…

使用FPGA实现超前进位加法器

介绍 前面已经向大家介绍过8位逐位进位加法器了&#xff0c;今天向大家介绍4位超前进位加法器。 对于逐位进位加法器来说&#xff0c;计算任意一位的加法运算时&#xff0c;必须等到低位的加法运算结束送来进位才能运行。这种加法器结构简单&#xff0c;但是运算慢。 对于超…

NFT卡牌质押分红模式开发技术讲解分析

近年来&#xff0c;随着加密货币市场的快速发展&#xff0c;NFT&#xff08;Non-Fungible Token&#xff0c;非同质化代币&#xff09;作为一种独特的数字资产形式备受关注。其中&#xff0c;NFT卡牌质押分红模式是一种创新的应用场景&#xff0c;为用户提供了一种参与和投资的…

【Qt 学习笔记】Qt常用控件 | 按钮类控件 | Check Box的使用及说明

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 按钮类控件 | Check Box的使用及说明 文章编号&#xff…

arduino使用光电开关控制电动平台回零

1.接线介绍 注意&#xff1a;NPN和PNP型光电开关的接线方式不同 首先&#xff0c;得在arduino上设置一个数字量接口&#xff0c;例如&#xff1a; #define PHOTO_SWITCH_PIN 53 // 假设光电开关连接到数字引脚53 然后根据你的情况把白色的或者黑色的线接到该引脚上&#x…

PCIe系统阻抗控制85还是100的验证

高速先生成员--周伟 还记得上次的文章&#xff0c;PCIe阻抗控制&#xff0c;85ohm和100ohm哪个好&#xff0c;文章里面只讲到目前的主要问题&#xff0c;但没有给出具体怎么解决这个问题&#xff0c;今天我们就通过无源仿真的方式来聊聊上次那个问题的最终解决方案。 目前我们看…

千锤百炼算法系列之动态规划

题外话 这段时间,我必须把算法弄明白 这篇直接讲解动态规划所有细节! 前面那篇 千锤百炼之每日算法(一)-CSDN博客 也有关于动态规划的讲解,也非常详细 很简单,我成尊不就是了?!!! 正题 动态规划 这里我们主要是让大家明白什么是动态规划,怎么用动态规划解题 我就不用…

IEC104协议

1. 简介 IEC104规约是一个广泛应用于电力、城市轨道交通等行业的国际标准。 2. 术语解释 遥脉 (电度量)&#xff1a; 是指对现场某装置所发出的脉冲信号进行周期累计的一种远程计数操作。 其实&#xff0c;遥脉也可以看成是被具体规定了采用脉冲计数作为测量方法的一种遥测…

【软考经验分享】软考-中级-嵌入式备考

这里写目录标题 教辅用书嵌入式系统设计师考试大纲嵌入式系统设计师教程嵌入式系统设计师5天修炼嵌入式系统设计师考前冲刺100题 刷题软件希赛网软考真题 视频教程希赛网王道-计组计网 教辅用书 嵌入式系统设计师考试大纲 50页左右&#xff0c;内容为罗列一些考点&#xff0c…

信息化工作人员必备常识3——nslookup命令【用来诊断域名(DNS) 基础结构的信息以及用来查看域名和IP的对应关系】

[TOC](信息化工作人员必备常识3——nslookup命令【用来诊断域名(DNS) 基础结构的信息以及用来查看域名和IP的对应关系】) 前言 信息化相关的工作人员&#xff0c;无论你是开发人员、产品经理、CIO领导&#xff0c;你只要是在做信息化相关的工作&#xff0c;有些基础知识和操作…

C#版Facefusion:让你的脸与世界融为一体!-05 人脸增强

C#版Facefusion&#xff1a;让你的脸与世界融为一体&#xff01;-05 人脸增强 目录 说明 效果 模型信息 项目 代码 下载 说明 C#版Facefusion一共有如下5个步骤&#xff1a; 1、使用yoloface_8n.onnx进行人脸检测 2、使用2dfan4.onnx获取人脸关键点 3、使用arcface_w60…

基于MNIST的手写数字识别

上次我们基于CIFAR-10训练一个图像分类器&#xff0c;梳理了一下训练模型的全过程&#xff0c;并且对卷积神经网络有了一定的理解&#xff0c;我们再在GPU上搭建一个手写的数字识别cnn网络&#xff0c;加深巩固一下 步骤 加载数据集定义神经网络定义损失函数训练网络测试网络 …

小扎万字深度访谈:最强开源大模型Llama 3发布,Meta的AGI路径和开源哲学

今天Meta发布了史上最强开源大模型Llama 3&#xff0c;一口气发布了 8B 和 70B 2个预训练和指令微调模型&#xff0c;对比同级别的参数模型&#xff0c;性能上均达到了最佳。 此外&#xff0c;Meta还发布了基于Llama 3的AI助手Meta AI&#xff0c;可以在Facebook、Instagram、W…

一举颠覆Transformer!最新Mamba结合方案刷新多个SOTA,单张GPU即可处理140k

还记得前段时间爆火的Jamba吗&#xff1f; Jamba是世界上第一个生产级的Mamba大模型&#xff0c;它将基于结构化状态空间模型 (SSM) 的 Mamba 模型与 transformer 架构相结合&#xff0c;取两种架构之长&#xff0c;达到模型质量和效率兼得的效果。 在吞吐量和效率等关键衡量指…

基于函数计算FC3.0 部署AI数字绘画stable-diffusion自定义模型

基于函数计算FC3.0 部署AI数字绘画stable-diffusion自定义模型 部署AI数字绘画stable-diffusion曲线救国授权github账号 部署ffmpeg-app-v3总结 在讲述了函数计算FC3.0和函数计算FC2.0的操作界面UI改版以及在函数管理、函数执行引擎、自定义域名、函数授权及弹性伸缩规则方面进…