进程管理及计划任务
一、定义
程序:硬盘上躺着。执行特定任务的一串代码
进程:加载到内存中运行。进程是程序的副本,进程是有生命周期
? ? ? ? ? ?进程的控制:每开启一个进程会消耗相应的硬件资源,内存,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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!