目录
一、进程原理
二、进程工作过程
三、进程类型
四、管理进程
五、前后台调度
六、定时任务
七、管理定时任务
一、进程原理
进程:指正在运行的程序称之为进程
程序:指的是没有运行的代码
线程:真正的执行者,是复制了一部分进程的代码,可以完成部分任务的,真正的执行者
二、进程工作过程
进程工作过程:1.启动第一个进程(父进程)
2.父进程将资源分配给子进程
3.子进程启动
进程结束过程:1.子进程结束
2.子进程将资源还给父进程
3.父进程结束,终止进程
特殊进程结束过程:1.父进程提前结束
2.子进程无法返还资源,找不到父进程
3.子进程无法终止,形成僵尸进程
一个进程最重要的是pid(唯一id号),user(进程名),%cup(cup使用率),%mem(物理内存使用率)
三、进程类型
父进程:/user/lib/systemd/syste,pid为1,第一个启动的进程
子进程:ppid可以看到父进程的pid号,如果为0就是没有父进程
僵尸进程:找不到父进程返还资源分子进程,无法删除,因为占用资源少所以无需处理,只有重启才可以停止
进程类型:S休眠状态
R正在运行
D不可中断的休眠状态
Z僵尸进程
T停止状态,后台暂停或者处于跟踪调试状态
可以看到pid1356是休眠状态
pid7864是运行状态
四、管理进程
查看进程:静态查看和动态查看
静态查看命令:
1. ps -elf (e:显示系统内所以进程信息,l长格式显示信息,f完整格式显示信息)
s:休眠状态 uid:进程名 pid:唯一标识 ppid:父进程pid pri:优先级 ni:谦让值 sz大小 cmd命令位置
2. ps -aux(a:终端所有进程 u:列出进程的用户 x:显示所有终端信息)
进程名 进程号 cpu利用率 硬盘利用率 Ss标识有子进程
ps -aux |grep httpd:可以指定服务名查找
ps -aux |grep 8553:指定uid查找
3.pstree(以树状结构列出信息)
可以以树状看到自己想要看的进程
pstree -p 只显示线程显示时带上uid,方便查看
pstree -up(可以显示进程和线程用户)
动态查看线程:
1.top,可以动态查看进程信息
hi指1分钟使用
si指5分钟使用
st指15分钟使用
可以进行操作,按c可以看按cup使用率排序,按1显示cup使用的所有信息,q退出
top也可以静态查看:top -b -n 1(b指以文本格式输出,n指的时次数)
3.pgrep(查看进程)
pgrep -l “ro”指定查看所有含有ro的进程
pgrep -lu “root”显示所有属于root的进程
杀死进程:kill(kill是一个信号,将信号发个内核,内核进行处理,完成杀死进程的操作)
kill -9 强制杀死指定进程
正常是active
kill 9038(httpd的进程号9038)可以看到active是failed状态
kill -9 9401杀死进程之后,active是的deactivating
如果进程服务是failed状态原因:1.强制终止
2.启动失败
启动失败排查步骤:1.检查网络(ping网关或本机地址127.0.0.1)
2.检查防火墙(防火墙策略禁用)
3.服务本身出错(配置文件错误)
4.检查端口(被占用或者防火墙禁止)
5.环境问题(无法解决,更换设备)
五、前后台调度
Linux进程分为前台执行和后台执行,相当于window系统的后台,顾名思义在后台也可以执行,不会影响当期的操作
调入后台:1.vim编辑中 ctrl +z 可以调入后台
2.配置耗费时间长的命令时在命令尾加入&加入后台
现在已经进入后台,可以使用jobs查看后台进程
jobs可以不加选项直接查看后台进程
jobs选项:
-l(显示所有进程带pid)
-p(只显示后台ip)
-n(显示最近加入的后台进程)
-r(正在运行的后台进程)
-s(停止的后台进程)
六、定时任务
定时任务:指的是重复的必须的进行操作,类似手机的定时开关机,方便操作。
定时任务格式:* * * * *(分时日月周)
*/2 */2 */2 */2 */2 ls(每2分钟 每2小时 每2天 每2个月 每2周 查看当前目录)*/2表示每多少执行
1,5 0 1 1 * ls(每个一月一号的0点的1分钟和5分钟执行查看命令)1,5表示不连续
1-5 0 1 1 * ls(每个一月一日的0点1到5分钟执行查看命令)1-5表示连续
配置文件在/etc/crontab
七、管理定时任务
创建定时任务
crontab -e(e创建)
crontab -e -u(e创建,u指定用户,默认当前用户)
修改定时任务
直接进入创建定时任务中修改即可
删除定时任务
crontab -r(将计划全部删除)
查看定时任务
crontab -l (查看当前用户的计划任务)