Java教程

进程和计划任务管理

本文主要是介绍进程和计划任务管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录
一、程序和进程的关系
二、查看进程信息ps(静态)
1、ps aux
2、ps -efl
三、查看进程信息top(动态)
1、每行对应的信息
2、进程信息区对应解释
3、top常用命令
四、查看进程信息pgrep
1、pgrep可用选项
五、查看进程树pstree
六、进程启动方式
1、手动方式
2、调度启动
3、进程的前后台调度
七、终止进程的运行
八、计划任务管理at
九、计划任务管理crontab
1、管理crontab计划任务
2、crontab任务配置的格式
一、程序和进程的关系
1、程序
①保存在硬盘、光盘等介质中的可执行代码和数据
②静态保存的代码

2、进程
①在cpu及内存中运行及进程代码
②动态执行的代码
③父(fork)、子进程,每个程序可以创建一个或多个进程
父进程和子进程的区别:父进程产生PPID
子进程产生PID
3、三种回收状态:
①当子进程完成工作后,父进程回收子进程系统给予的资源
②当子进程完成工作后,父进程不回收,称为“僵尸进程”
③当子进程完成工作后,没有父进程回收,称为“孤儿进程”。会用systemd来回收

4、进程状态:
①运行状态
②睡眠状态可中断状态
③睡眠状态不可中断状态(不可强制唤醒)
④僵尸状态
⑤停止状态
在同一个进程:只能按顺序来排队运行,按cpu时间片来处理进程

5、查看的命令
ps aux 查看系统进程
ps -ef 查看系统进程
ps a 显示现行终端机下的所有程序,包括其他用户的程序
ps -A 显示所有程序
ps c 列出程序时,显示每个程序真正的指令名称,而不包括路径,参数或常驻服务的标示
ps f 用ASCII字符显示树状结构,表达程序的相互关系
ps u 以用户位主的格式来显示程序状况
load average:平均负载cpu参数
ps -o user,pid 指定user,pid查看
top -d 5 设置刷新时间5秒
top -p +进程号(PID) 直接查看单独的进程
查找某个进程:ps aux | grep vim
ps aux | grep vim |grep -v grep
pstree -u 查看进程是谁产生,是谁在用
pstree -p 不仅查看进程,还可以显示PID进程号
pgrep -l +进程名 不仅查看进程,还可以查看进程号
pgrep -u +名称(tom) 指定一个用户查看
pgrep -u tom -l 指定一个用户看tom的用户进程和进程号
kill +进程号PID 中止
kill -9 +进程号 强制杀死(只会杀死一个)
killall + 名称(vim) 直接用名称杀死(杀死下面所有的进程)
kill -15 走正规流程
kill -1 重启
pkill -9 + 名称 杀死
jobs 查看后台的进程
fg +1(后台排序号)调到前台
bg +4 (后台排序号) 在后台恢复运行
cp /dev/sr0 /tom & 在后台运行
kill -9 %1(后台排序号) 在后台杀死

命令模式下:
Ctrl+z 从前台调到后台
名称+& 从前台调到后台
Ctrl+c 中断

二、查看进程信息ps
1、ps aux命令下面查看的信息:
a:显示终端上的所有进程,包括其他用户的进程
u:标识;列出进程的用户
x:显示所有终端的进程
在这里插入图片描述各列的解释:
(1)USER: 用户
(2)PID: 进程号
(3)%MEM:占用cpu的百分比
(4)VSZ:分配的虚拟内存
(5)RSS:实际占用的物理内存
(6)TTY终端:?表示不依赖终端
tty1 本地登录
Pts/0 远程链接终端
(7)STAT状态:
①S :睡眠状态可中断
②D:不可中断睡眠状态
③R: 正常运行
④I :僵死状态
⑤T :停止状态
⑥小s :控制性的进程
⑦小于号 < : 具有高优先级
⑧N :低优先级
⑨+ :当前进程运行在前台
⑩小l :是多线程的
(8) START:进程出发的时间
(9)TIME:一共占用cpu时间
(10)COMMAND:执行命令
(11)中括号[]内核产生——内核态
(12)没有中括号[]用户产生——用户态

2、ps -efl命令下面的查看信息
-e:显示系统内的所有进程信息
-l:使用长格式显示进程信息
-f:使用完整的格式显示进程信息
在这里插入图片描述
各列的解释:
(1)F:内核分配给进程的系统标记
(2)S:进程的状态
(3)UID:启动这些进程的用户
(4)PID:进程的进程ID
(5)PPID:父进程的进程号
(6)C:进程生命周期中的CPU利用率
(7)PRI:进程的优先级
(8)NI:谦让度值用来参与决定有先级(PRI和NI是成对出现的,只能修改NI值才能改变PRI的值)
(9)ADDR:进程的内存地址
(10)SZ:假如就能成被换出,所需交换空间的大致大小
(11)WCHAN:若该进程在睡眠,则显示睡眠中的系统函数名
(12)STIME:进程启动时的系统时间
(13)TTY:进程启动时的终端设备
(14)TIME:运行进程需要的累计CPU时间
(15)CMD:进程的启动命令

三、TOP命令查看
在这里插入图片描述
1、每行对应的信息
(1)第一行任务队列信息
①22:34:03:系统时间
②up 12:22:系统已运行时长
③4 user:当前登录用户数
④load average:0.00,0.01,0.05:系统负载,即单位时间内系统处理的任务数。

(2)第二行为进程信息
①Tasks:总进程数
②running:正在运行的进程数
③sleeping:休眠的进程数
④stopped:中止的进程数

(3)第三行CPU的信息
①us:用户占用
②sy:内核占用
③ni:优先级调度占用
④id:空闲CPU,想要了解空闲的CPI百分比,主要还是看%id部分
⑤wa:I/O等待占用
⑥hi:硬件中断占用
⑦si:软件中断占用

(4)第四行内存的信息
①total:总内存空间
②free:空闲内存
③used:已用内存
④buff/cache:物理内存和交换内存的缓冲区总和

(5)第五行交换空间的信息
①total:总交换空间
②free:空闲交换空间
③used:已用交换空间
④avail Men:可用物理空间

2、进程信息区对应的解释
在这里插入图片描述
进程信息区的解释
(1)PID:进程id
(2)USER:进程所有者的用户名
(3)PR:优先级
(4)NI:谦让度值,负值表示高优先级,正值表示低优先级
(5)VIRT:进程使用的虚拟内存总量,单位kb
(6)RES:进程使用的虚拟内存大小,单位kb
(7)SHR:共享内存大小,单位kb
(8)S:进程状态
(9)%CPU:上次更新带现在的CPU时间占用百分比
(10)%MEM:进程使用的物理内存百分比
(11)TIME+:进程使用的CPU时间总计,单位1/100s
(12)COMMAND:命令名/命令行

3、top常用命令
①c键:切换显示命令名称和完整命令行
②h键:可以获得top程序的在线帮助信息
③M键:根据驻留内存大小进行排序
④P键:根据CPU使用百分比大小进行排序
⑤N键:根据启动时间进行排序
⑥k键:根据提示输入指定进程的PID号并按Enter键终止对应的进程
⑦z键:可以改变颜色
⑧s键:更改时间
⑨1键:显示所有的cpu
⑩q键:退出top程序

4、tty终端
①Centos7系统,tty1 表示的是图形界面,tty2-6表示文字界面,可以用Ctrl+Alt+F1-F6切换
②pts说明是远程工具连接的,如Xshell,后面的数字代表登录的时间顺序,越小证登录的时间越早

四、查看进程信息–pgrep
1、pgrep命令
(1)pgrep -l +”进程号关键字“ 指定查看进程名
例如:①在第一个会话框中输入:vim /etc/fstab,
在这里插入图片描述
②打开进程后在复制会话框,来查看第一个会话框进程信息,然后进入第二个会话框中,使用pgrep -l “vim”的进程在这里插入图片描述
(2)pgrep常用选项
①pgrep -l “进程关键字” -U 指定特定用户
先创建一个新的用户“lisi”,并设置密码。完成后将切换用户,并再次输入命令:vim /etc/fstab在这里插入图片描述
再次来到复制框来查看指定用户的“vim”进程 在这里插入图片描述
②prep -l “进程关键字” -t 指定的终端

五、查看进程树–pstree
1、pstree命令—以树形结构列出进程信息
pstree -aup 用户名 以树形结构完整列出对应用户名及进程号在这里插入图片描述
示例:现在在新的用户lisi里面创建一个新的文件,并进入编辑在这里插入图片描述
在复制框会话中以树形结构完整列出lisi的进程号在这里插入图片描述
六、进程的启动方式
1、手动启动
①前台启动:用户输入命令,直接执行程序
②后台启动:在命令行尾加入“&”符号
2、调度启动
①使用at命令,设置一次性计划任务
②使用crontab命令,设置周期性计划任务
3、进程的前后台调度
①Ctrl+z组合键
将当前程序挂起,即调入后台并停止执行在这里插入图片描述
②jobs命令
jobs -l 查看处于后台的任务列表在这里插入图片描述
③fg命令 将后台进程恢复前台运行,可指定任务序号在这里插入图片描述七、终止进程的运行
1、Ctrl c、kill、killall
①Ctrl+c组合键:中断正在执行的命令
2、kill、killall命令
①kill用于中止指定PID号的进程
②killall用于终止指定名称相关的所有进程
③-9选项用于强制终止
3、pkill
根据特定条件终止相应的进程
①-U:根据进程所属的用户名终止相应进程
②-t:根据进程所在的终端终止相应程序

八、计划任务管理–at
1、at命令
一次性计划任务:a
t [HH:MM] [yyyy-mm-dd]
2、命令格式
在这里插入图片描述
九、计划任务管理 --crontab
(1)crontab命令
(2)按照预先设置的时间周期(分、时、日、月、周)重复执行用户指定的命令操作
(3)属于周期性计划任务
(4)主要设置文件
①全局配置文件,位于文件:/etc/crontab
②系统默认的设置,位于目录:/etc/cron.*/
③用户定义的设置,位于文件:/var/spool/cron/用户名

1、管理crontab计划任务
①编辑计划任务:crontab -e -u 用户名 -u缺省时默认当前用户
②查看计划任务:crontab -l -u 用户名
③删除计划任务:crontab -r -u 用户名
2、crontab任务配置的格式
在这里插入图片描述

3、时间数值的特殊表示方法
*:表示该范围内的任意时间
,:表示间隔的多个不连续时间点
-:表示一个连续的时间范围
/:表示间隔的时间频率

应用示例:在这里插入图片描述

这篇关于进程和计划任务管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!