进程管理及计划任务

发布时间:2024年01月09日

一、定义

程序:硬盘上躺着。执行特定任务的一串代码

进程:加载到内存中运行。进程是程序的副本,进程是有生命周期

? ? ? ? ? ?进程的控制:每开启一个进程会消耗相应的硬件资源,内存,CPU,磁盘io

????????内存不足?关闭没有用的进程,问开发

????????硬件资源不足?对进程进行清理

二、进程

PID:进程号,用来标记各个进程

UID、GID语境决定对文件系统的存取和访问权限,通常从执行进程的用户来继承

????????????????进程启动失败---当前用户权限问题

存在生命周期

都由其父进程创建

2.进程特征

动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态消亡的;

并发性:任何进程都可以同其他进程一起并发执行;

独立性:进程是系统进行资源分配和调度的一个独立单位;硬件资源分配的最小单位

结构性:进程由程序、数据(需要调用的文件)和进程控制块(开发)三部分组成。

三、进程命令

? ? ? ? 1.查看系统资源的命令

? ? ? ? CPU:top? ?w? ? vmstat

? ? ? ? 内存:top? ?free? ?vmstat

? ? ? ? 磁盘分区:lsblk

? ? ? ? 硬盘剩余:df

? ? ? ? 硬盘读写性能:iostat? ? vmstat

? ? ? ? 网络宽带:iftop

? ? ? ? 2.? ps:静态显示进程信息

? ? ? ? 1.进程状态

????????2.主要用途

????????????????查看进程有没有启动
????????????????查看进程的pid并使用kill命令杀掉
????????????????查看哪些进程占用的cpu高
????????????????查看哪些进程占用内存高
????????????????查看进程的状态

? ? ? ? ?3.? ?ps? ? aux? ? 查看系统中所有进程?

????????????????a:显示一个终端的所有进程,除了会话引线

????????????????u:显示进程的归属用户及内存的使用情况

????????????????x:显示没有控制终端的进程

# 查看系统中所有进程

????????ps? ? -le

????????选项: -l:长格式显示。显示更加详细的信息

? ? ? ? ? ? ? ? ? ??-e:显示所有进程,和-a作用一致

ps -ef 和ps -aux使用

????????如果想跟踪cpu占用率和内存占用率, 用aux;如果想跟踪父进程和完整的启动命令,那么使用ef.

????????

????????#查看指定进程pid(sshd)

????????????????ps? -aux | grep sshd

????????????????ps? -ef | grep 进程名/PID

????????3.? top:动态显示进程信息

????????4.? pgrep:查看指定的进程

????????5. pidof:查看进程的pid号

????????6. pstree:命令进程树

????????7. lsof:根据文件找到对应的进程信息

?

????????8. vmstat:监控系统资源

????????9. free:内存

????????10. iostat:可以提供更丰富的IO性能状态数据

????????11. iotop:监视磁盘I/O

????????12. mpstat:显示CPU相关统计

????????13. dstat:系统资源统计

????????14. webadin:根据文件找到对应的进程信息

??

四、进程管理

? ? ? ? 1.前台运行:影响当前终端的操作

? ? ? ? ? ?后台操作:不影响当前终端的操作

? ? ? ? 2.inux 命令放入后台的方法有两种

? ? ? ? ? ? 1."命令 &",把命令放入后台执行

????????

????????把命令放入后台的方法是在命令后面加入 `空格 &`。使用这种方法放入后台的命令,在后台处于执行状态。注意,放入后台执行的命令不能与前台有交互,否则这个命令是不能在后台执行的。

? ? ? ? ? ? 2.?jobs? 查看后台运行的命令列表

? ? ? ? ? ? 3.fg? ? 调出后台任务?

? ? ? ? ? ? 4.bg? ? 继续任务

? ? ? ? ? ? 5.并行执行任务

? ? ? ? ? ? 6.结束进程

? ? ? ? ? ? ? ? 1.kill----kill 命令只是用来向进程发送一个信号,至于这个信号是什么,是用户指定的

? ? ? ? ? ? ? ? 2.killall

? ? ? ? ? ? ? ? 3.pkill

五、计划任务

? ? ? ? 1.at? ? 一次性的计划任务

? ? ? ? 2. crontab? ? 周期性的计划任务

?

六、面试题目

1.想知道当前系统lisi一共运行了多少个程序

? ? ? ? pgrep? -U? ?lisi? |? ?wc? -l

2.找到cpu利用率最高的进程

? ? ? ? ps? aux? k? -%cpu

????????ps? aux? k? -%mem

3.cpu利用率高你怎么排查

? ? ? ? top

? ? ? ? ps? aux?

? ? ? ? 查找cpu利用率高的进程

4.如何确定一个程序是多线程还是单线程

? ? ? ? grep? -i? ?threads? ?/proc/进程PID/status

? ? ? ? prtstat? ? 进程PID号

5.如何过滤僵尸进程?如何结束僵尸进程?

? ? ? ? (1)ps? ?aux? | grep? Z? ?

? ? ? ? (2)重启最快

6.

7.可以对系统有哪些优化:

? ? ? ? 1.关闭不必要的开机自启动程序

? ? ? ? 2.禁止使用超级管理员

? ? ? ? 3.使用国内的yum源

? ? ? ? 4.内核调优

? ? ? ? ? ? ? ? 1.开启路由转发功能

? ? ? ? ? ? ? ? 2.tcp连接数

? ? ? ? 5.关闭核心防护 selinux

文章来源:https://blog.csdn.net/ereriy/article/details/135362889
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。