当前位置:网站首页>进程和计划任务管理
进程和计划任务管理
2022-07-24 05:23:00 【AKA|布鲁克林欧神仙】
目录
一,程序和进程的关系
程序
- 保存在硬盘,光盘等介质中可执行代码和数据
- 文件中静态保存的代码
进程
- 在CPU及内存中运行的程序代码
- 动态执行的代码
- 父子进程
- 每个程序可以创建一个或者多个进程
1,线程状态
1,新建(NEW):新创建了一个线程对象
2,可运行(RUNNABLE);线程对象创建后,其他线程(比如main线程)调用了该对象的start(方法)。该状态的线程唯一可运行线程池中,等待被线程调度选中,获取cpu的使用权
3,运行(RUNNING);可运行状态(runnable)的线程获得了cpu时间片(timeslice)执行程序代码。
4,阻塞(BLOCKED):阻塞状态状态是指线程因为某种原因放弃了cpu使用权,也既让出了cpu timelise 转到运行(running)状态。阻塞的情况分为三种:
(一)等待阻塞:运行的线程执行o.wait方法,JVM会把改线程放入等待队列中。
(二)同步阻塞:运行的1线程在获取对象的同步锁时间,若改同步锁被别的线程占用,则JVM会把改线程放入锁池中。
(三)系统资源不足)运行(running)的线程执行Thread.sleep (longms)ms)或t. join()方法,或者发出了I/o请求时,JVM会把该线程置为阻塞状态。当sleep()状态超时、join()等待线程终止或者超时、或者I/o处理完毕时,线程重新转入可运行(runnable)状态。
5,死亡(DEAD)线程run()、main()方法执行结束,或者因异常退出了run()方法,则该线程结束生命周期。死亡的线程不可再次复生
2,进程和多线程的区别
进程是操作系统资源分配的基本单位,而线程是任务调查和执行的基本单位。没有线程的进程可以视为单线程,如果一个进程内有多线程,则执行过程不是一条线的,而是多条线共同完成的,线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程
二,查看进程
1,查看进程静态信息:ps
方法一:ps aux

| a | 显示终端上的所以进程,包括其他用户的进程 |
| u | 表示列出进程的用户 |
| x | 显示所以终端的进程 |

各个名词的解释
| USER | 进程的用户 |
| PID | 进程的ID |
| %CPU | 进程占用的cpu百分比 |
| %MEM | 占用内存的百分比 |
| VSZ | 该进程使用的虚拟内存量 |
| RSS | 该进程占用的物理内存量 |
| TTY | 启动进程的终端名,不是从终端启动的进程显示为 |
STAT | D:不可中断的休眠状态;R:正在运行状态;S:处于休眠状态,可被唤醒;T:停止状态,可能是在后台暂停或进程处于跟踪 调试状态;Z:僵尸进程,进程已经中止,但是部分程序还在内存当中 |
| START | 进程被触发启动的时间 |
| TIME | 进程实际使用CPU运行的时间 |
| COMMAND | 进程的启动命令 |
2, ps -elf

各个名词的解释
| F | 内核分配给进程的系统标记 |
| S | 进程的状态 |
| UID | 启动这些进程的用户 |
| PID | 进程的进程ID |
| PPID | 父进程的进程号(如果该进程是由另一个进程启动的) |
| C | 进程生命周期中的CPU利用率 |
| PRI | 进程的优先级(越大的数字代表优先级越低) |
| NI | 谦让度值用来参与决定优先级 |
| ADDR | 进程的内存地址/td> |
| SZ | 假如进程被换出,所需交换空间的大致大小 |
| WCHAN | 若该进程在睡眠,则显示睡眠中的系统函数名 |
| STIME | 进程启动时的系统时间 |
| TTY | 进程启动时的终端设备 |
| TIME | 运行进程需要的累计CPU时间 |
| CMD | 进程的启动命令 |
三,僵尸进程
一个进程结束了,但是如果该进程的父进程已经结束了,那么该进程就不会变成僵尸进程,因为每个进程结束的1时候,系统都会扫描当前系统中所运行的1所以进程,看有没有那个进程是刚刚结束的子进程,如果是的话,就由init来接管它,成为它的父进程,子进程退出后init会回收其占用的相关资源。
但是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。
4,查看进程动态信息:top

1,进程动态信息
第一行:任务队列信息
| 19:29:21 | 系统时间 |
| up 10:20 | 系统已运行时长 |
| 1 user | 当前登录用户数 |
| load average:0.03,0.02,0.05 | 系统负载,即单位时间内系统处理的任务数,后面三个数值分别为1分钟,5分钟,15分钟前到现在的平均值 |
第二行:进程信息
| tasks | 总进程数 |
| running | 正在运行的进程数 |
| sleeping | 休眠的进程数 |
| stopped | 终止的进程数 |
| zombie | 僵死的进程数 |
第三行:CPU信息
| us | 用户占用 |
| sy | 内核占用 |
| ni | 优先级调度占用 |
| id | 空闲CPU(要了解空闲CPU百分比。主要看%id部分) |
| wa | l/o等待占用 |
| hi | 硬件中断占用 |
| si | 软件中断占用 |
| st | 虚拟化占用 |
第四行:内存信息
| total | 总内存空间 |
| free | 空闲内存 |
| used | 已用内存 |
| buff/cache | 物理内存和交互内存的缓冲区总和 |
第五行:交换空间的信息
| total | 总交换空间 |
| free | 空闲交换空间 |
| used | 已用交换空间 |
| avail Mem | 可用物理空间 |
2,进程信息区名词解释

| PID | 进程ID |
| USER | 进程用户 |
| PR | 优先级 |
| NI | 谦让值,负值表示高优先级,正值表示低优先级 |
| VIRT | 进程使用的虚拟内存大小,单位kb |
| RES | 进程使用的物理内存大小,单位kb |
| SHR | 共享内存大小,单位kb |
| S | 进程状态 |
| %CPU | 上次更新到现在的CPU占用百分比 |
| %MEM | 进程使用的物理内存百分比 |
| TIME | 进程使用的CPU时间总计,单位1/100秒 |
| COMMAND | 命令名/命令行 |
4,top常用命令
| P | 根据CPU使用百分比大小进行排序 |
| M | 根据驻留内存大小进行排序 |
| N | 根据启动时间进行排序 |
| c | 切换显示命令名称和完整命令行 |
| h | 可以获得top程序的在线帮助信息 |
| k | 根据提示输入指定进程的PID号并按Enter键终止对应的进程 |
| q | 退出top程序 |
| 数字1 | 显示CPU个数和状态 |
5,查看进程信息:pgrep

6,查看进程树:pstree

7,&和job
&:表示挂起当前进程不输出结果

jobs -l :查看处于后台的任务

bc命令:可以将后台中暂停指定的任务恢复
fg命令:可以将后台任务放到前台

kill命令

四,计划任务管理
1,一次性计划任务:at


2,周期性任务设置:crontab
编辑计划任务
crontab -e [-u 用户名]
查看计划任务
crontab -l [-u 用户名]
删除任务计划
crontab -r [-u 用户名]

每隔三分钟,自动查看时间和挂载磁盘分区表,并且输出结果到/opt/kk.txt

任务配置格式

| 字段 | 说明 |
| 分钟 | 取值为0~59之间的任意整数 |
| 小时 | 取值为0~23之间的任意整数 |
| 日期 | 取值为1~31之间的任意整数 |
| 月份 | 取值为1~12之间的任意整数 |
| 星期 | 取值为0~7之间的任意整数,0或7代表星期日 |
| 命令 | 要执行的命令或程序脚本 |
| 时间数值的特殊表示方法 | |
|---|---|
| * | 表示该范围内的任意时间 |
| , | 表示间隔的多个不连续时间点 |
| - | 表示一个连续的时间范围 |
| / | 指定间隔的时间频率 |
边栏推荐
- IP课(OSPF)综合实验
- Force buckle: 1-sum of two numbers
- First knowledge of graphics
- Do not rent a server, build your own personal business website (how to buy a domain name)
- UE4: what is the gameplay framework
- Using keras to realize multidimensional (multivariable) time series prediction of cnn+bilstm+attention
- A batch of interview questions and answers_ 20180403 latest arrangement
- Openpose unity plug-in deployment tutorial
- EXCEL 生成mysql语句批量操作
- Dameng database_ Common initialization parameters
猜你喜欢

如何建立一个仪式感点满的网站,并发布到公网 2-2

IP笔记(11)

leetcode剑指offer JZ23:链表中环的入口节点

UE4:浅谈什么是GamePlay框架

How to build a website full of ritual sense and publish it on the public website 1-2

leetcode 不用加减乘除算加法 || 二进制中1的个数

Use intranet penetration to realize public network access to the Intranet

IP job (6)

Unity2d horizontal game jump real-time response

IP笔记(7)
随机推荐
IP notes (8)
IP notes (7)
Openpose2d transform 3D pose recognition
项目上复盘引导问题清单
Do not rent a server, build your own personal business website (how to buy a domain name)
Hololens 2 development: development environment deployment
IP笔记(7)
Dameng database_ Supported table types, usage, characteristics
IP job (2) rip
力扣:1-两数之和
Map the intranet to the public network [no public IP required]
Use and principle of spark broadcast variable and accumulator
将内网映射到公网【无需公网IP】
UE4 random generation of items
Dameng database_ Small matters needing attention during use
Dameng database_ Various methods of connecting databases and executing SQL and scripts under disql
Using keras to realize multidimensional (multivariable) time series prediction of cnn+bilstm+attention
IP笔记(9)
Metersphere one stop open source continuous testing platform
记一次高校学生账户密码的获取,从无到有