管理进程和任务调度管理
进程管理的作用
1)判断服务器的健康状态
进程管理最主要的工作就是判断服务器当前运行是否健康,是否需要人为干预。如果服务器的 CPU 占用率、内存占用率过高,就需要人为介入解决问题了。
2) 查看系统中所有的进程
我们需要查看看系统中所有正在运行的进程,通过这些进程可以判断系统中运行了哪些服务、是否有非法服务在运行。
3) 杀死进程
这是进程管理中最不常用的手段。当需要停止服务时,会通过正确关闭命令来停止服务(如apache 服务可以通过 service httpd stop 命令来关闭)。只有在正确终止进程的手段失效的情况下,才会考虑使用 kill 命令杀死进程。
进程监控和管理
进程启动
前台启动
当用户输入一个命令并运行,就已经启动了一个进程,而且是一个前台的进程,此时系统其实已经处于一个多进程的状态(一个是 Shell 进程,另一个是新启动的进程)。
假如启动一个比较耗时的进程,然后再把该进程挂起,即将前台运行的进程放到后台,并且暂停其运行。
后台启动
jobs命令-查看后台进程
功能:查看从终端端口放入后台的进程
选项 |
含义 |
-l(L 的小写) |
列出进程的 PID 号。 |
-n |
只列出上次发出通知后改变了状态的进程。 |
-p |
只列出进程的 PID 号。 |
-r |
只列出运行中的进程。 |
-s |
只列出已停止的进程。 |
fg命令-前后台进程切换
功能:把后台的进程恢复到前台继续运行
bg命令-前后台进程切换
功能:使后台暂停的进程重新开始运行
ps命令-查看正在运行进程
功能:查看系统中当前有哪些进程,选项非常多
选项 | 含义 |
a |
显示现行终端机下的所有程序,包括其他用户的程序 |
e |
列出程序时,显示每个程序所使用的环境变量 |
-f |
显示UID,PPIP,C与STIME栏位 |
f |
用ASCII字符显示树状结构,表达程序间的相互关系 |
-j |
采用工作控制的格式显示程序状况 |
aux | 可以查看系统中所有的进程 |
-le | 可以查看系统中所有的进程,而且还能看到进程的父进程的PID和进程优先级 |
-l | 只能看到当前shell产生的进程 |
pstree命令-查进程树
功能:查看进程间的相关性和依赖关系
选项 |
含义 |
-a |
显示启动每个进程对应的完整指令,包括启动进程的路径、参数等。 |
-c |
不使用精简法显示进程信息,即显示的进程中包含子进程和父进程。 |
-n |
根据进程 PID 号来排序输出,默认是以程序名排序输出的。 |
-p |
显示进程的 PID。 |
top命令-监听进程运行状态
功能:查看进程信息的动态变化,默认每隔3秒刷新一次
lsof命令-列出进程调用信息
功能:列举系统中已经被打开的文件;可以根据文件找到对应的进程信息,也可以根据进程信息找到进程打开的文件。
选项 |
功能 |
-c 字符串 |
只列出以字符串开头的进程打开的文件。 |
+d 目录名 |
列出某个目录中所有被进程调用的文件。 |
-u 用户名 |
只列出某个用户的进程打开的文件。 |
-p pid |
列出某个 PID 进程打开的文件。 |
nice命令-改变进程优先级
功能:设置进程的优先级(不能修改已运行进程的NI值)
每个进程都有优先级,优先级越高,表示进程越有可能获得CPU的使用权
renice命令-改变进程优先级
功能:调整运行中进程的优先级
普通用户只能调整自己创建的进程的优先级,而且只能把nice调整为更大的值
root用户可以调整所有人的进程优先级,而且可以调整为更小的值
kill 命令-前后台进程切换
功能:通过内核向进程发送信号以执行某些特殊的操作,如挂起进程、正常退出进程或强制终止进程等
信号代号 |
信号名称 |
说 明 |
1 |
SIGHUP |
该信号让进程立即关闭.然后重新读取配置文件之后重启 |
2 |
SIGINT |
程序中止信号,用于中止前台进程。相当于输出 Ctrl+C 快捷键 |
8 |
SIGFPE |
在发生致命的算术运算错误时发出。不仅包括浮点运算错误,还包括溢出及除数为 0 等其他所有的算术运算错误 |
9 |
SIGKILL |
用来立即结束程序的运行。本信号不能被阻塞、处理和忽略。一般用于强制中止进程 |
14 |
SIGALRM |
时钟定时信号,计算的是实际的时间或时钟时间。alarm 函数使用该信号 |
15 |
SIGTERM |
正常结束进程的信号,kill 命令的默认信号。如果进程已经发生了问题,那么这 个信号是无法正常中止进程的,这时我们才会尝试 SIGKILL 信号,也就是信号 9 |
18 |
SIGCONT |
该信号可以让暂停的进程恢复执行。本信号不能被阻断 |
19 |
SIGSTOP |
该信号可以暂停前台进程,相当于输入 Ctrl+Z 快捷键。本信号不能被阻断 |
进程优先级
在 Linux 系统中,表示进程优先级的有两个参数:Priority(PRI) 和 Nice(NI), 其数值越小代表该进程越优先被 CPU 处理。
PRI值是由内核动态调整的,用户不能直接修改
NI值用户可以修改
PRI和NI的关系:PRI (最终值) = PRI (原始值) + NI修改值(NI 的值就可以改变进程的优先级即可。NI 值越小,进程的 PRI 就会降低,该进程就越优先被 CPU 处理;)
任务调度管理
at命令
功能:设置在指定的时间执行某个一次性任务
选项 |
含义 |
-m |
当 at 工作完成后,无论命令是否输出,都用 E-mail 通知执行 at 命令的用户。 |
-c 工作标识号 |
显示该 at 工作的实际内容。 |
-t 时间 |
在指定时间提交工作并执行,时间格式为 [[CC]YY]MMDDhhmm。 |
-d |
删除某个工作,需要提供相应的工作标识号(ID),同 atrm 命令的作用相同。 |
-l |
列出当前所有等待运行的工作,和 atq 命令具有相同的额作用。 |
-f 脚本文件 |
指定所要提交的脚本文件。 |
crontab命令
功能:设置需要周期执行的任务
选项 |
功能 |
-u user |
用来设定某个用户的 crontab 服务,例如 "-u demo" 表示设备 demo |
-e |
编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前用户的 crontab 文件。 |
-l |
显示某用户的 crontab 文件内容,如果不指定用户,则表示显示当前用户的 crontab 文件内容。 |
-r |
从 /var/spool/cron 删除某用户的 crontab 文件,如果不指定用户,则默认删除当前用户的 crontab 文件。 |
-i |
在删除用户的 crontab 文件时,给确认提示。 |
特殊符号 |
含义 |
*(星号) |
代表任何时间 第一个"*" 一小时当中的第几分钟(minute) 0~59 第二个"*" 一天当中的第几小时(hour) 0~23 第三个"*" 一个月当中的第几天(day) 1~31 第四个"*" 一年当中的第几个月(month) 1~12 第五个"*" 一周当中的星期几(week) 0~7(0和7都代表星期日) |
,(逗号) |
代表不连续的时间。比如"0 8,12,16***命令"就代表在每天的 8 点 0 分、12 点 0 分、16 点 0 分都执行一次命令。 |
-(中杠) |
代表连续的时间范围。比如"0 5 ** 1-6命令",代表在周一到周六的凌晨 5 点 0 分执行命令。 |
/(正斜线) |
代表每隔多久执行一次。比如"*/10****命令",代表每隔 10 分钟就执行一次命令。 |
进程与文件权限
进程的权限
1)和普通文件类似,进程也有所有者和属组两个属性
2)进程的所有者就是创建进程的用户,也称为执行者
3)进程的属组是执行者所属的用户组。
4)进程对文件的操作权限按照以下规则确定:
如果进程的所有者与文件的所有者相同,就为进程赋予文件所有者的权限
如果进程的所有者属于文件的属组,就为进程赋予文件属组的权限
为进程赋予其他人的权限
文件特殊权限
特殊权限有三位:用户置位s(SUID)、组置位s(GUID)和粘着置位t(Sticky)
设置方法:
数字形式修改权限时setuid、setgid、sticky的八进制位分别是4000、2000、1000。
字母形式则分别为u+s,g+s,o+t,(删除标记位是u-s,g-s,o-t)
表示上有大小写之分
如果同时开启执行权限和特殊权限,则权限表示字符是小写。
如果关闭执行权限,开启特殊权限,则权限表示字符是大写。
拥有特权的含义:
suid/sgid程序:当SUID位被设置时,进程继承了命令拥有者的权限。
程序的t属性:内存中保存一份运行程序的备份
目录的s属性:在该目录下创建的任何文件及目录属于该目录所拥有的组。
目录的T属性:设置了目录的T属性后1000,由只有该目录的所有者及root才能删除该目录, 如/tmp目录就是drwxrwxrwt。
SUID
Set UID(简称为SUID):在所有者的执行权限位置上出现了之前从未讲过的s标志
只能对二进制程序文件设置SUID权限,对Shell脚本文件和目录不起作用
执行设置了SUID权限的程序文件时,进程的所有者变为原程序文件的所有者,而不是执行程序的用户,也可以理解为执行者继承了文件所有者的权限
前提是用户对该程序文件具有执行权限
SBIT
Sticky Bit(简称为SBIT或粘滞位):出现在目录的其他人的执行权限位置上的t标志
只能对目录设置SBIT权限
用户在目录中新建的文件和目录,只有该用户本身和root用户能够删除
SBIT权限生效的前提是用户对目录具有执行和写权限
管理进程和任务调度管理相关推荐
- 【Linux 内核】进程管理 ( 进程与操作系统 | 进程与程序 | 进程与线程 | 虚拟地址空间 )
文章目录 一.进程与操作系统 二.进程与程序 三.进程与线程 四.虚拟地址空间 一.进程与操作系统 操作系统与硬件的关系 : 操作系统 使用 硬件 提供的资源 , 如 CPU , 内存 , 磁盘 , ...
- 面试-操作系统-进程管理-进程-进程调度-死锁
文章目录 ==概念== 备注 简单说下你对并发和并行的理解? 同步.异步.阻塞.非阻塞的概念? 操作系统概念? 一个程序从开始运行到结束的完整过程,你能说出来多少? 用户态和内核态是如何切换的? 什么 ...
- Linux如何管理进程
一.程序 是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具 用于描述进程要完成的功能,是控制进程执行的指令集 二.进程 1.什么是进程 运行中的程序的一个副本,是被载入 ...
- php 进程管理,php如何管理进程
进程管理-防止进程成为僵尸进程 创建好了进程,那么怎么对子进程进行管理呢? 使用信号,对子进程的管理,一般有两种情况:(推荐学习:PHP编程从入门到精通) posix_kill():此函数并不能顾名思 ...
- 如何在 Linux 上使用 kill 和 killall 来管理进程
了解如何使用 ps.kill 和 killall 命令来终止进程并回收系统资源. 在 Linux 中,每个程序和守护程序daemon都是一个"进程process". 大多数进程代表 ...
- 在Docker里使用(支持镜像继承的)supervisor管理进程(转)
这篇文章是受 dockboard 之托帮忙翻译的与 docker 有关的技术文章.译自 Using Supervisor with Docker to manage processes (suppor ...
- Linux基础:调查和管理进程
什么是进程? 进程是被载入内存的一个指令集合 进程ID(Process ID,PID)号码被用来标记各个进程 UID.GID相关权限和 SElinux决定对文件系统的存取和访问 通常从执行进程的用户处 ...
- Linux进程查看与管理
Linux进程查看与管理(2) htop: 交互式命令: u: 过滤 s:跟踪选用的进程所发起系统调用 l:显示选定进程所打开的文件 t:显示进程的层次数 a:设定进程的cpu亲缘性:(将选定的进程绑 ...
- Unix进程和线程管理及其异同
Unix进程和线程管理及其异同 一,进程 1,什么是进程 在最初的单处理器系统中,系统中的多道程序按照一定规则切换而实现多任务处理,后来发现多个程序并发导致系统资源被共享,为了描述和管理程序对共享资源 ...
最新文章
- 机器学习项目模板:ML项目的6个基本步骤
- 分布式关系数据库在金融行业的创新实践
- USEARCH —— 最简单易学的扩增子分析流程
- 剑指Offer——Java答案
- HTML5+PhoneGap相机拍照
- Unity UGUI——Rect Transform包裹(Anchor Presets)
- spyder 护眼背景
- 论文浅尝 | 二维卷积知识图谱嵌入
- linux内核怎么修改屏幕旋转方向_运维必备:常见的Linux系统故障及其排查的方法...
- 35岁的程序员,真的要转管理吗?
- 你还在代码里做读写分离么,试试这个中间件吧!
- Mac OSX操作系统安装和配置Zend Server 6教程(1)
- 详细解读ORBSLAM中的描述子提取过程
- 基于蒙特卡洛模型的排队问题求解
- RapidMiner教程
- 周立功专访:周立功和他的团队已经找到了属于自己的道路
- linux pam鉴定令牌错误,linux – chsh:PAM身份验证失败
- 淘宝API,商品详情的测试及使用
- Android ShapeableImageView使用详解,告别shape、三方库
- 数字-数字编码和模拟-数字编码
热门文章
- Unity商业开发必备插件
- (转载)魔兽世界任务制作教学
- R语言使用car包的vif函数计算方差膨胀因子,并基于方差膨胀因子开方后和阈值(2)的判断来确认模型特征(预测变量)之间是否存在多重共线性(Multicollinearity)
- 熬夜帮学姐用Python完成词云图,没想到我好兄弟竟然...
- EZDML3.31发布 支持从数据库获取测试数据
- 计算机网络sequence number,TCP协议中SequenceNumber和Ack Numbe
- linux指纹登录实现原理,指纹识别技术原理与基于Linux系统的指纹识别门禁系统设计...
- 汽车电子 CCP学习
- iatf16949内审员_IATF16949:2016汽车质量管理体系内审员
- idea解决搜狗输入法不跟随BUG