快速掌握Linux中的“进程管理和任务执行”

家电修理 2023-07-16 19:18www.caominkang.com电器维修

内容预知

 1.进程的相关管理

 进程和线程联系

2.  查看进程

2.1 静态查看进程—— ps aux

2. 2静态查看进程—— ps -elf

 2. 3查看线程—— ps -aT

2.4 动态查看进程 —— 

2.5 根据条件查看进程 

​编辑 

 2.6 树状查看进程——pstree

 3.手动控制进程

 3.1 将前台命令进程转入后台——&

 3.2 直接查看后台进程命令——jobs -l

 3.3 恢复后台进程到前台——fg +<序号>

 3.4  杀进程

3.4.1 杀进程——kill 

3.4.2 杀进程——killall 

 3.4.3 杀进程——pkill

 3.5 杀进程的原理和强制杀进程

 4.计划任务的管理

4.1 一次性的计划任务 

 4.2 周期循环的计划任务

 4.2.1 使用crontab -e的使用方法

4.2.2   周期计划任务的查看 

4.3   其他方式设置周期任务 

 


 1.进程的相关管理

 进程和线程联系
  •  程序 是一组计算机能识别和执行的指令
  •  进程开发写的代码我们称为程序,那么将开发的代码运行起来。我们称为进程
  •  线程线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。

 

2.  查看进程

2.1 静态查看进程—— ps aux a显示当前终端下的所有进程信息,包括其他用户的进程。与“x”选项结合时将示系统中所有的进程信息。u使用以用户为主的格式输出进程信息。x显示当前用户在所有终端下的进程信息。

其他补充

  • -e显示系统内的所有进程信息。
  • -l使用长(Long)格式显示进程信息。
  • -f使用完整的(Full)格式显示进程信
  • k|--sort 属性对属性排序,属性前加 - 表示降序排列。

 

ps aux 进程信息解释 名称解释USER产生该进程的的用户名称PID进程的id,由系统分配%CPU该进程占用 CPU 资源的百分比,占用的百分比越高,进程越耗费资源。%MEM该进程占用物理内存的百分比,占用的百分比越高,进程越耗费资源。VSZ该进程占用虚拟内存的大小,单位为 KB。RSS该进程占用实际物理内存的大小,单位为 KB。TTY该进程是在运行的终端STAT进程所处的状态START该进程的启动时间。TIME该进程占用 CPU 的运算时间,注意不是系统时间。COMMAND产生此进程的命令名。

补充一 STAT所处状态的种类

-D不可被唤醒的睡眠状态,通常用于 I/O 情况。

-R该进程正在运行。

-S该进程处于睡眠状态,可被唤醒。

-T停止状态,可能是在后台暂停或进程处于除错状态。

 -Z僵尸进程。进程已经中止,还是占用硬件资源。 -


补充二TTY进行运行的终端

 tty1~tty6 是本地的字符界面终端

tty7 是图形终端

注意可以通过 Alt+F1 ~ F7 快捷键切换不同的终端 (笔记本fn+f1  能使用本来的用法)

2. 2静态查看进程—— ps -elf 列名解释F进程标志,说明进程的权限,常见的标志有两个: 1进程可以被复制,不能被执行; 4进程使用超级用户权限;S进程状态。具体的状态和"psaux"命令中的 STAT 状态一致;UID运行此进程的用户的 ID;PID进程的 ID;PPID父进程的 ID;C该进程的 CPU 使用率,单位是百分比;PRI进程的优先级,数值越小,该进程的优先级越高,越早被 CPU 执行;系统定义不可以人为修改NI进程的优先级,数值越小,该进程越早被执行;可以人为修改ADDR该进程在内存的哪个位置;SZ该进程占用多大内存;WCHAN该进程占用多大内存;TTY该进程由哪个终端产生;TIME该进程占用 CPU 的运算时间,注意不是系统时间;CMD产生此进程的命令名;

 2. 3查看线程—— ps -aT

 

2.4 动态查看进程 —— 

 选项

  • -d 秒数指定 命令每隔几秒更新。默认是 3 秒。
  • -b使用批次处理模式输出。一般和"-n"选项合用,用于把 命令重定向到文件中。
  • -n 次数指定 命令执行的次数。一般和"-"选项合用。
  • -p 进程PID仅查看指定 ID 的进程。
  • -s使 命令在安全模式中运行,避免在交互模式中出现错误。
  • -u 用户名只监听某个用户的进程。
  • -H  查看线程

 

注意load average系统在之前 1 分钟、5 分钟、15 分钟的平均负载。(当这三个值长期处在cpu的百分之七十到百分之八十,说明此时处在高负荷工作中。百分之八十以上则是超负荷)

原因1.性能不足  2.服务器被攻击  3.程序出现了bug

除以外   还有     uptime  命令可以查看平均负债值

 在显示界面的操作

  • ? 或 h显示交互模式的帮助。
  • c按照 CPU 的使用率排序,默认就是此选项。
  • M按照内存(memory)的使用率排序。
  • N按照 PID 排序。
  • T按照 CPU 的累积运算时间排序,也就是按照 TIME+ 项排序。
  • k按照 PID 给予某个进程一个信号。一般用于中止某个进程,信号 9 是强制中止的信号。
  • r按照 PID 给某个进程重设优先级(Nice)值。
  • q退出 命令。
  • z彩色显示
  • F通过光标设置字段是否展示,以及展示顺序。

2.5 根据条件查看进程 
  • -U指定用户
  • -l显示进程名
  • -a显示完整格式的进程名
  • -P < PID>显示指定进程的子进程
  • -t   查看终端

 2.6 树状查看进程——pstree

 选项

  • -a显示启动每个进程对应的完整指令,包括启动进程的路径、参数等。
  • -p显示PID。
  • -u显示进程的用户名称。
  • -u 用户名显示指定用户的进程。
  • -H < pid>高亮显示指定进程及其前辈进程。
  • -T不显示线程thread,默认显示线程。

 3.手动控制进程

进程的启动分为前台启动和后台启动

  • 前台启动 用户输入命令以后,直接在页面中启动该命令
  • 后台启动当该命令需要的操作过大,占用可终端,导致用户无法输入其他命令,将该处理进程放在后台处理,可以进行别的操作 

 3.1 将前台命令进程转入后台——&

 

 通过ps -aux   查看到 sleep  600   命令进程在后台运行

 

 3.2 直接查看后台进程命令——jobs -l

 ctrl -z   可以将正在进行的前台进程挂起

 3.3 恢复后台进程到前台——fg +<序号>

恢复挂起的前台命令进程

 3.4  杀进程

3.4.1 杀进程——kill 

 kill         

 

3.4.2 杀进程——killall 

 killall <进程名>

 3.4.3 杀进程——pkill

 pkill   -t    <终端>  根据终端进行杀进程 

 pkill -U <用户>  :  根据所属用户,来杀进程

 

 

 

 3.5 杀进程的原理和强制杀进程

 我们经常会用到kill命令去杀死一个进程,有时会出现kill不成功的现象,这是就要用到kill -9。

 

 -15 代表信号为 SIGTERM,发出的信号为通知信号,请该进程停止运行并且保存退出

-9   代表信号为 SIGKII      ,发出的信号为强制清退信号,该信号不能捕获也不能清退,让进程立即退出(不管是否保存)。

 4.计划任务的管理

4.1 一次性的计划任务 

 at任务设定

 atq  查看预设定的任务

 atrm +<序号> 删除设定的任务

 

 4.2 周期循环的计划任务
  • 按照预先设置的时间周期(分 时 日  月  周)重复执行用户指定的命令操作(绝对路径的命令或者脚本)。
  • 属于周期性计划任务。
  • 主要设置文件。
    • 全局配置文件,位于文件/etc/crontab
    • 系统默认的设置,位于目录/etc/cron./
    • 用户定义的设置,位于文件/var/spool/cron/用户名

命令操作
 

crontab -e [-u 用户名]     //编辑计划任务  ​

crontab -l [-u 用户名]     //查看计划任务  

​crontab -r [-u 用户名]     //删除计划任务

在使用 crontab前注意crond的服务是否打开

 4.2.1 使用crontab -e的使用方法

 crontab  类似vim编辑器一样打开一个配置文件,向配置文件中写入周期任务。写周期任务,需要对使用周期时间进行理解和掌握

 编辑任务的格式

 特殊时间的表示符号

符号用法(星号)代表任何任意时间。(例如第一个,表示每分钟执行一次,其他位置是这个意思),(逗号)代表多个不连续的时间点(例如第一个设置为 10,20,30   表示10分 20分  30分   各执行一次)-(中杠)代表连续的时间范围/(斜杠)代表每隔多久执行一次(即间隔的时间频率)。

时间引例

  0 8-18/2   //8点到18点之间每2小时  

0 /3       //每3天的每个整点

0 14-18 1,5,15,30      // 每个月 1号  ,5 号 ,15号,  30号   下午 2到6点  执行

15-45/5  10,22   /10    10              // 每年10月每隔10天的上午和下午10点的15-45分内每隔5分钟执行一次

hich   命令 //查看该命令的绝对路径

 

4.2.2   周期计划任务的查看 

 4.2.3   周期任务的删除

4.3   其他方式设置周期任务 
vim  /var/spool/cron/

 

vim /etc/crontab

 

 

静态查看ps aux,ps -elf

动态查看

查看指定进程prtstat

以树形结构列出pstree

at 一次性任务的设定

杀进程时注意 -9  谨慎使用,使用不妥当,会导致数据丢失

周期任务计划要注意周期方法的使用,利用好周期符号,设定先要的执行时段

Copyright © 2016-2025 www.caominkang.com 曹敏电脑维修网 版权所有 Power by