资讯详情

进程与计划任务管理

提示:文章完成后,目录可以自动生成,如何生成可以参考右边的帮助文档

文章目录

  • 前言
  • 一、程序与过程的关系
    • 程序
    • 进程
  • 二、程序 进程理论
    • 线程
      • 线程状态:
        • 1.新建(NEW):
        • 2.可运行(RUNNABLE):
        • 3.运行(RUNNING):
        • 4.阻塞(BLOCKED):
          • 阻塞有三种
        • 5.死亡(DEAD):
  • 三、PS命令—查看静态的进程统计信息
    • 常用的参数
    • 常用的选项组合
      • ps -elf 具体的过程信息将以列表的形式显示
        • ps -aux 过程信息将以简单列表的形式显示
      • 重点:
      • 优先级
  • 四、TOP命令-查看过程动态信息
  • 五、pgrep命令(查看过程信息主要取决于过程名和相应的信息PID)
  • 六、pstree命令-查看进程树
    • pstree -aup 查看完整的过程数信息,常用的搭配
  • 七、控制过程
    • jobs
    • kill
    • killall命令
    • pkill命令-可以根据过程的名称、运行过程的用户和过程所在的终端结束过程
  • 八、计划任务
    • at——一次性任务
    • crontab命令-重复执行用户指定的命令操作,按照预设的时间周期(分时日月周)


前言

程序是保存在外部存储介质(如硬盘,光盘)中的可执行机器代码和数据的静态集合,而进程是在CPU以及内存中动态执行的计算机程序。Linux在系统中,可以在每个程序启动后创建一个或多个过程


提示:以下是本文的文本内容,以下案例可供参考

一、程序与过程的关系

程序

可执行代码和数据保存在硬盘、光盘等介质中 静态保存在文件中的代码 二进制文件,静态**/bin/data、/usr/sbin/sshd**

进程

在CPU以及在内存中运行的程序代码 动态执行代码 父、子进程 每个程序可以创建一个或多个过程 过程是程序运行的过程和动态,包括生命周期和运行状态

二、程序 进程理论

线程包含在过程中,是过程中的实际操作单位,也是操作系统中可以独立运行的基本单位,也称为轻量进入,可以在一个过程中并发多个线程. 程序—>进程—>线程

线程

线程状态:

1.新建(NEW):

创建了线程对象。

2.可运行(RUNNABLE):

创建线程对象后,其他线程(如main线程)调用对象start()方法。该状态的线程位于可操作线程池中,等待线程调度选择并获得cpu的使用权。

3.运行(RUNNING):

可运行状态(runnable)获得了线程cpu时间片(timeslice)执行程序代码。

4.阻塞(BLOCKED):

阻塞状态是指线程因某种原因放弃cpu使用权,即让出cup timeslice,暂时停止运行,直到线程进入可运行。(runnable)只有这样,我们才有机会再次获得状态cup timeslice转到运行(running)状态。

阻塞有三种

1.等待阻塞:操作线程执行o.wait () 方法,JVM将该线程放入等待队列(waitting queue)中。 2.同步阻塞:在获取对象的同步时,如果同步锁被其他线程占用,则操作线程JVM将该线程放入锁池(lock pool)中。 3.其他障碍物操作线程执行Thread.sleep(longms)或t.join()模式,或发布I/O请求时,JVM线程将被阻塞。sleep()状态超时,join()等待线程终止或超时I/O处理完毕时,线程重新转入可运行状态。

5.死亡(DEAD):

线程run()、main()执行结束,或因异常退出run()方法,线程结束生命周期。死亡线程不能重生

三、PS命令-查看静态过程统计信息

常用的参数

-a 显示包括其他用户在内的当前终端下的所有流程信息。 x 当选项结合时,将显示系统中的所有过程信息。 -u 以用户为主的格式输出过程信息。 -x 在所有终端下显示当前用户的流程信息。  -e:显示系统的所有流程信息 -l:长格式显示过程信息 -f:使用完整的格式显示过程信息  

在这里插入图片描述

常用的选项组合

ps -elf 具体的过程信息将以列表的形式显示

在上述输出信息中,第一行为列表的标题如下。

**USER**:用户账户名称启动此过程 **PID**:系统中的数字过程ID,在当前系统中是唯一的。
**%CPU**:CPU占用的百分比
**%MEM**:内存占用的百分比
**VSZ**:该进程使用的虚拟内存量(KB)。
**RSS**:该进程占用的物理内存量(KB)。
**TTY**:表示该进程在哪个终端上运行。不是从终端启动的进程则显示为?。
简单来说:pts是远程登录终端ctrl+ALT F1-F6 tty1 图像界面 2和6 字符界面 ? 系统本身自身执行的进程
**STAT**:该进程的状态(D:不可中断的休眠状态,S:处于休眠状态,可被唤醒,T:停止状态,可能是在后台暂停或进程处于跟踪调试状态,Z:僵尸进程,进程已经中止,但是部分程序还在内存当中)

D:系统守护进程 T:调试、程序执行一般停止 R:该程序目前正在运作,或者是可被运作 S:该程序目前正在睡眠当中(可说是idle状态),但可被某些讯号(signal)唤醒。 T:该程序目前正在侦测或者停止了 Z:该程序应当已经终止,但是其父程序却无法正常的终止他,造成zombie(僵死)程序的状态 D 不可中断状态, 他们的含义如下: <:表示进程运行在高优先级上 N:表示进程运行在低优先级上 L:表示进程有页面锁定在内存中 s:表示进程是控制进程 l:表示进程是多线程的 +:表示当前进程运行在前台 D:系统守护进程 T:调试、程序执行一般停止

ps -aux 将以简单列表的形式显示出进程信息

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

加上grep可以查看程序是否运行

重点:

ps -aux #将以简单列表的形式显示出进程信息
ps -elf #将以列表的形式显示出具体的进程信息
D[aemon]:守护进程
R[unning]:正在运行
S[leep]:睡眠状态
Z[ombie]:僵尸状态

优先级

< 高优先级
N 低优先级
+前台进程
l 该进程是多线程的

**START**:启动该进程的时间
**TIME**:该进程占用的 cpu 时间
**COMMAND**:启动该进程的命令的名称

四、TOP命令—查看进程动态信息

使用ps命令查看到的是一个静态的进程信息,并不能连续的反馈出当前进程的运行状态。若希望动态刷新的方式显示各进程的状态信息,可用top命令。 top命令会将在当前终端以全屏交互式的界面显示进程排名,及时跟踪包括CPU、内存等系统资源占用情况,默认三秒刷新一次,其基本作用类似于Windows系统中的任务管理器,

上述输出信息中,开头部分显示了系统任务(Tasks)、CPU占用、内存占用(Mem)、交换空间(Swap)等汇总信息,汇总信息下方依次显示当前进程的排名情况。相关信息的含义表示如下,

uptime:当前时间—17:42:11 up 系统运行时间 2 user 当前登录用户数 load average:0.36,0.13,0.08:系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。 系统任务(Tasks)信息:total:总进程数,running:正在运行的进程数,sleeping:休眠的进程数,stopped:终止的进程数,zombie:僵死无响应的进程数。 CPU占用信息:us:用户占用,sy:内核占用,ni:优先级调度占用,id:空闲cpu,wa:I/O等待占用,hi:硬件中断占用,si:软件中断占用,st:虚拟化占用,要了解空闲的CPU百分比,主要看%id部分 内存占用(Mem)信息:total:总内存空间,used:已用内存,free:空闲内存,buffers:缓存区域 交换空间(Swap)占用:total:总交换空间,used:已用交换空间,free:空闲交换空间,cached:缓存空间

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

五、pgrep命令(查看进程信息主要看进程名和对应的PID)

-l :同时输出对应的进程名和PID
-U :查询特定用户的进程
-t :指定终端

六、pstree命令-查看进程树

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

pstree -aup 查看完整的进程数信息,常用的搭配

七、控制进程

进程启动方式为手动启动和调度启动

手动启动

前台启动:用户输入命令,直接执行程序 后台启动:在命令行尾加入“&”符号(放在后台的原因是因为有些程序比较大,可能跑不完,所以要放在后台运行,这样能够同时进行其他操作。)

将后台的进程恢复运行
bg :可以将后台中暂停执行的命令的任务恢复运行,继续在后台执行
fg :可将后台任务重新恢复到前台运行。
CTRL+Z 可以把任务放到后台并且暂停

jobs

查看处于后台的任务列表

-l 可以同时显示该进程

kill

可将指定的信息送至程序

-1 (HUP):重新加载进程。
-9 (KILL):杀死一个进程。
-15 (TERM):正常停止一个进程。(默认值)

killall命令

通过进程名称来终止进程

在需要系统结束多个相同名字的进程的时候,这个命令就方便了很多

可以直接同时杀死所有vim的进程

pkill命令-可以根据进程的名称、运行该进程的用户、进程所在的终端等来结束进程

-U :指定用户
-t :指定终端

例如 pgerp -l -U “zhangsan” 查出张三用户运行的进程 pkill -9 -U “zhangsan” 指定用户杀死进程

八、计划性任务

at——一次性任务

date 显示当前时间 at 16:10 (只写时间表示当天) 回车 然后写下需要执行的命令 然后回车

#ctrl+d提交运行  #ctrl+c退出不运行

crontab命令——按照预先设置的时间周期(分时日月周)重复执行用户指定的命令操作

属于

-e 开启计划任务
-l 查看计划任务
-r 删除计划任务

**

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

分钟 :0-59
小时 :0-23
日期 :1-31
月份 :1-12
星期 :0-7(0和7都表示周日

配置格式 分钟 小时 日期 月份 星期 命令

例如 :CP命令的绝对路径

例如:

标签: 74aup2g126gf二极管74aup2g125gd二极管

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台