Linux进程和任务管理

news2024/12/24 3:49:34

目录

一.程序和进程的关系

程序

进程

线程

线程与进程的区别

二.查看进程信息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 Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: active (running) since 四 2024-04-18 16:40:11 CST; 29min ago
 Main PID: 1261 (crond)
    Tasks: 1
   CGroup: /system.slice/crond.service
           └─1261 /usr/sbin/crond -n

4月 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.coloradmin.cn/o/1605278.html

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

相关文章

electron的webview和内嵌网页如何通信

在 Electron 的世界里&#xff0c;webview 标签相当于一个小盒子&#xff0c;里面可以装一个完整的网页&#xff0c;就像一个迷你浏览器。当你想和这个小盒子里的内容说话时&#xff08;也就是进行通信&#xff09;&#xff0c;这里有几个方法可以帮你做到&#xff1a; 这里只写…

LIUNX文件系统

目录 1.磁盘的物理结构 2.CHS定位法 3.磁盘的逻辑存储 4.系统层面 inode.block[15] 创建文件的流程 查找文件的流程 了解文件系统&#xff0c;首先要了解磁盘是如何存储和读取数据的。 1.磁盘的物理结构 可以理解这个盘上有很多的小磁铁&#xff0c;通过旋转盘面和摆动…

LeetCode-热题100:114. 二叉树展开为链表

题目描述 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。 示例…

内业减少80%人工操作,林地地形轻松测!

林业作为维护生态平衡和保护环境的关键领域&#xff0c;其科学管理和合理利用是当前林业工作的重中之重。林业调查旨在全面了解当前林业资源的状况&#xff0c;其中林地地形测量是林业调查的基础工作。通过对林地地形的准确测量&#xff0c;可获取森林的地理位置、面积、地貌、…

探索VR数字展厅,对企业未来展示新模式

在数字化浪潮的推动下&#xff0c;企业展示也在经历着一场革命&#xff0c;VR数字展厅正在以一种全新的方式重塑我们的生活和工作空间&#xff0c;不仅重塑了客户的观展体验&#xff0c;也为企业营销打开了新的渠道。 VR数字展厅作为实体展厅的数字化延伸&#xff0c;正以其沉浸…

C++笔记:引用

目录 概念&#xff1a; ​编辑 引用的特性&#xff1a; 引用中的权限问题&#xff1a; 引用与指针的区别&#xff1a; 引用的使用&#xff1a; 概念&#xff1a; 引用是给已存在变量取一个别名&#xff0c;编译器不会为引用变量开辟内存空间。 引用的符号&#xff1a;&…

物联网网络传输,STM32和ESP32

2024.4.17 今天主要是记录一下我这个STM32F407和esp8266组成的互联网板子的一些例程运行心得&#xff0c; 下面这个例程是STM32发AT指令给esp8266&#xff0c;使得esp8266作为tcp client连接到我的手机热点&#xff0c;然后我用电脑连接wifi&#xff0c;打开tcp server&#x…

上海晋名室外气瓶暂存柜海盐项目落地

上周海盐县人民医院武原分院的SAVEST室外气瓶暂存柜项目成功交付验收&#xff0c;此次项目主要用于医院气瓶等室外暂存安全。 用户单位在日常工作运营中涉及到氧气瓶、杜瓦罐等室外安全储存问题&#xff0c;用户在寻找解决方案的过程中搜索到上海晋名的室外气瓶暂存柜系列后挺感…

贪心问题:134. 加油站

https://leetcode.cn/problems/gas-station/ 贪心算法还没找到规律&#xff0c;记录一下该题的思路吧。。。 每个加油站的剩余量rest[i]为gas[i] - cost[i]。 首先如果总油量减去总消耗大于等于零那么一定可以跑完一圈&#xff0c;说明 各个站点的加油站 剩油量rest[i]相加一定…

【AI学习中常见专业英文缩写词的解释】

前言&#xff1a; 为了看着不无聊&#xff0c;文中插入了一些AI生成的狗图片 AI(Artificail Intelligence)人工智能&#xff1a; 让机器模拟和展示人类智能的技术。 GAI(Generative Artificail Intelligence)生成式人工智能: 利用复杂的算法、模型和规则&#xff0c;从大规…

19.leetcode---设计循环队列(Java版)

题目链接:https://leetcode.cn/problems/design-circular-queue/ 题解: 代码: 测试:

LeetCode 506.和为K的子数组

目录 题目描述 方法一 三重循环暴力 思路&#xff1a; 代码&#xff1a; 方法二 暴力一点点前缀和 思路&#xff1a; 代码&#xff1a; 方法三 前缀和哈希表 思路&#xff1a; 代码&#xff1a; 题目描述 给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并…

超净实验室用耐强酸碱耐高温PFA酸缸进口透明聚四氟塑料方槽

PFA清洗槽是四氟清洗桶后的升级款&#xff0c;主要用于半导体光伏光电等行业&#xff0c;一体成型&#xff0c;无需担心漏液&#xff0c;表面光滑无毛刺。 别名PFA浸泡桶、PFA酸缸、PFA方槽等&#xff0c;可定制尺寸&#xff0c;可配套盖子&#xff0c;盖子有PFA/PTFE两种材质…

idea连接Docker数据库

我们在docker下创建了数据库&#xff0c;想要更方便的查看和操作该数据库&#xff0c;idea和DataGrip或者其他人家都可以。在数据库连接时需要填写数据库名字&#xff0c;主机&#xff0c;端口&#xff0c;数据库用户名和密码。 输入之后先不要点击OK和按Enter键&#xff0c;我…

HubSpot流量开发常见问题及解决方案

在HubSpot流量开发过程中&#xff0c;企业和营销团队可能会遇到一系列问题。本文旨在梳理这些常见问题&#xff0c;并提供相应的解决方案&#xff0c;帮助大家顺利推进HubSpot流量开发项目。 一、数据集成问题 问题&#xff1a;如何将外部数据源与HubSpot集成&#xff0c;实现…

SIDE:多维赋能,助力高效开发且获得收益

在当下数字化快速发展的时代&#xff0c;SIDE这款应用开发平台确实展现出了其前瞻性和实用性。昨天我们介绍了SIDE作为一款先进的应用开发平台&#xff0c;开启研发新的颠覆式的开发新纪元。除了开发体验外&#xff0c;SIDE还以其多维度的赋能手段&#xff0c;为开发者提供了高…

大语言模型微调技术

Adapter 参考资料&#xff1a;《Parameter-efficient transfer learning for nlp》 adpater首先将原始的d维特征映射到较小的维度m&#xff0c;应用非线性函数&#xff0c;然后再重新映射回d维。总的参数量&#xff08;包含biases&#xff09;为 2mddm&#xff0c; 当m远小于d…

业务数字原生驶入2.0时代:谁在成为新抓手?

对奥哲云枢All in One低代码平台的一个更为全面的认知恰是&#xff0c;其在成为AI时代企业内部的一个超级操作系统。 作者|皮爷 出品|产业家 过去的几年时间里&#xff0c;赵仕杰一直有个困扰他的问题。 作为首创热力的CIO&#xff0c;也是过去几年这家热力企业数字化转…

JavaSE进阶篇-面向对象程序设计

一、面向对象和面向过程的关系 1&#xff09;面向过程&#xff1a;强调的是功能行为&#xff0c;以函数为最小单位&#xff0c;考虑怎么做&#xff1b; 2&#xff09;面向对象&#xff1a;强调了具备功能的对象&#xff0c;以类/对象为最小单位&#xff0c;考虑谁来做。 总结…

武汉星起航:挂牌资本市场,助力创业者与投资者共绘辉煌蓝图

2023年10月30日&#xff0c;对于武汉星起航电子商务有限公司而言&#xff0c;是一个值得铭记的日子。这一天&#xff0c;公司成功在上海股权托管交易中心挂牌展示&#xff0c;正式登录资本市场&#xff0c;开启了新的发展阶段。这一里程碑式的成就&#xff0c;不仅彰显了武汉星…