基于LINUX下的进程管理问题
什么是进程?
程序(program)放置在存储媒体中(如硬盘,光盘,软盘,磁带等)为实体文件的形态存在
进程:程序被触发后,执行者的权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统并给予这个内存内的单元一个识别码(PID),可以说,进程就是一个正在运行的程序
进程的状态:
R(Running):该程序正在运行中;
S(Sleep):该程序目前正在睡眠状态(idle),但可以被唤醒(signal)
D:不可被唤醒的睡眠状态,通常进程可能在等待I/O的情况。
T:停止状态(stop),可能是在工作控制(背景暂停)或除错(traced)状态;
Z(Zombie):僵尸状态,程序已经终止但却无法被移除至内存外
1.进程的查看命令
ps -A ##所有进程
ps -a ##在当前用户环境运行的程序,不包含环境信息
ps -u ##显示进程用户信息
ps a ##在当前环境中运行的进程
ps x ##列出系统中所有运行包含tty输出设备
ps f ##显示进程的所属关系(父子关系)
ps e ##显示进程的详细信息(系统资源的调用)




ps常用组合
ps aux ##显示系统中的所有进程
ps ef ##显示进程详细信息并显示父子进程
ps ax ##显示当前系统的所有进程
pstree ##显示当前进程的进程树




显示进程的指定信息
ps -o xxx ##显示进程的指定信息
comm ##进程名称
user ##进程所有人
group ##进程所有组
%cpu ##进程cpu使用率
%mem ##进程内存使用率
pid ##进程pid
nice ##进程优先级

2.进程排序
ps ax --sort=
+%cpu|-%cpu
+%mem|-%mnm

stat中显示的信息
S ##进程状态
l ##内存中有锁定空间
N ##优先级低
< ##优先级高
+ ##前台运行
s ##顶级进程

3.进程优先级
1.进程的优先级范围-20~19


2.优先级的查看
ps ax -o pid,nice,comm

3.指定优先级
nice -n 优先级数字 进程名称

修改优先级
renice -n 数字 进程的id

环境中进程的前后台调用
jobs ##查看被打入环境后台的进程
ctrl+z ##把占用终端的进程打入后台
fg jobsnum ##把后台进程调回前台
bg jobsnum ##把后台暂停的进程运行
comm & ##让命令直接在后台运行

4.进程信号
常用信号等级
1 ##进程重新加载配置
2 ##删除进程在内存中的数据
3 ##删除鼠标在内存中的数据
9 ##强行结束单个进程(不可被阻塞)
15 ##正常关闭进程(可能被阻塞)
18 ##运行暂停的进程
19 ##暂停某个进程(不可被阻塞)
20 ##把进程打入后台(可以被阻塞)
man 7 signal ##查看信号的详细信息

kill -信号 进程的pid


注意,在这里kill-15可能无法结束掉比较重要的进程,如bash
killall -信号 进程的名字

pkill -u student -信号
切换到普通用户关闭vim同时关闭student的shell

5.进程的动态监控
top 常用的如下:
1. ##显示cpu每个核的负载
s ##调整刷新频率
c ##cpu负载排序
m ##内存使用量排序
h ##查看帮助
u ##查看指定用户进程
k ##对指定进程发起信号
q ##退出




6.控制服务
服务:cs模型:
c:client
s:server
定义:系统中运行的对于系统本身没有意义,但是对客户主机有重大意义的程序叫做服务性软件,简称服务
reloda=kill -1,但是有些服务没办法reload,例如网络服务
远程控制命令:
systemctl status sshd ##查看服务状态,inactive(不可用)active(可用)
systemctl start sshd ##开启服务
systemctl stop sshd ##关闭服务
systemctl restart sshd ##重起服务
systemctl reload sshd ##重新加载服务配置(同kill -1相同)
systemctl enable sshd ##设定服务开机启动
systemctl disable sshd ##设定服务开机不启动
systemctl list-units ##列出已经开启服务当前当前状态
systemctl list-unit-files ##列出所有服务开机启动的状态 disable,enable,static
systemctl list-dependencies ##列出服务的依赖
systemctl mask sshd ##冻结服务
systemctl unmask sshd ##解冻服务
systemctl set-default multi-user,target ##设定系统后启动级别为多用户模式(无图形)
systemctl set-dafault graphical,target ##设定系统启动级别为图形模式

如图,在这里sshd服务时正在运行的



来源:https://blog.csdn.net/weixin_42446031/article/details/86498921
基于LINUX下的进程管理问题的更多相关文章
- linux 下的进程管理工具 supervisor
在linux下监控进程: 1)yum install python-setuptools linux下的python安装工具 2)easy_install supervisor 安装sup ...
- Linux下的进程管理
在操作系统系统中,进程是一个非常重要的概念. 一.Linux中进程的相关知识 1.什么是进程呢? 通俗的来说进程是运行起来的程序.唯一标示进程的是进程描述符(PID),在linux内核中是通过task ...
- Linux下monit进程管理操作梳理
Monit对运维人员来说可谓神器,它是一款功能非常丰富的进程.文件.目录和设备的监测工具,用于Unix平台.它可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误.Monit ...
- 【one day one linux】linux下的软件包管理工具
Linux 下的软件包管理工具 linux下的软件安装可以通过两种方式,一种是直接使用自带的软件包管理工具安装,另外一种通过编译源码安装. 1.软件包的种类 Red Hat和Fedora:redhat ...
- Linux下的进程控制块(PCB)
本文转载自Linux下的进程控制块(PCB) 导语 进程在操作系统中都有一个户口,用于表示这个进程.这个户口操作系统被称为PCB(进程控制块),在linux中具体实现是 task_struct数据结构 ...
- Linux下java进程CPU占用率高分析方法
Linux下java进程CPU占用率高分析方法 在工作当中,肯定会遇到由代码所导致的高CPU耗用以及内存溢出的情况.这种情况发生时,我们怎么去找出原因并解决. 一般解决方法是通过top命令找出消耗资源 ...
- linux下对进程按照内存使用情况进行排序
linux下对进程按照内存使用情况进行排序的命令为:ps aux --sort -rss 详细解说参见 http://alvinalexander.com/linux/unix-linux-proce ...
- linux下查看进程占用端口和端口占用进程命令
Linux下查看进程占用端口: 查看程序对应进程号:ps –ef|grep 进程名 REDHAT :查看进程号所占用的端口号:netstat –nltp|grep 进程号 ubuntu:查看进程占用端 ...
- linux下监控进程需掌握的四个命令
linux下监控进程需掌握的四个命令 在LInux系统下,最困难的工作之一就是跟踪正在系统中运行的程序,尤其是现在,图形桌面使用很多的程序,只是为了生成一个桌面环境,系统中运行了太多的进程,幸运的 ...
随机推荐
- 微信小程序开发-踩坑
异步请求处理 详情描述: 微信小程序的wx.request({})请求时异步处理,以下代码 wx.reuest({ url:"https://XXXA", method:" ...
- mysql CONCAT函数
有时候我们需要使用coacat函数拼接一些字段的生成一个字符串,比如:select concat(field1,field2,field3) from xxx: 这时候我们就会的到一个这些字段的值拼 ...
- vue实现穿梭框效果
vue实现穿梭框效果 一.总结 一句话总结: 用两个数组分别记录左右框框里面的值,用两个数组绑定checkbox,用来记录选中的checkbox值,根据选中的checkbox的值实现删除增加即可 1. ...
- failOnMissingWebXml
使用maven创建项目时有时在pom.xml的war处出现failOnMissingWebXml的错误,根据错误提示的原因可以知道项目是web项目,打包时打成war包. 如果项目里没有web.xml, ...
- 关于Jmeter测试移动端应用时提示非法登录,不是合法的登录设备时的解决办法
当Jmeter测试移动端应用时提示非法登录,不是合法的登录设备时的解决办法:只需要在jmeter的http信息头管理器中配置相应的设备信息,可通过抓包工具得到:即头信息Header中的Miscella ...
- django项目添加路由----返回给客户端内容-----windows中的python
django项目添加路由 url函数的第一个参数是匹配url路径的正则表达式,第2个参数是路由函数 第一个正则表达式是r'^$',其中r表示正则表达式字符串不对转义符进行转义.“^”表示匹配URL路径 ...
- golang的下载与安装
golang的官网可能由于政策原因登陆不上. 所以可以到Go语言中文网下载:https://studygolang.com/dl 我下载的是go1.10.3.windows-amd64.msi安装包, ...
- Saltstack之使用salt安装es6.0以上的head插件
本实验使用salt安装es6.0以上的head插件 ES6.0以上手动安装head插件参考:https://www.cnblogs.com/minseo/p/9117470.html 文件夹目录为 / ...
- checklist和基础安全知识
checklist和基础安全知识 https://book.yunzhan365.com/umta/rtnp/mobile/index.html 网络安全科普小册子 http://sec.cuc.ed ...
- 利用工具破解HTTP身份验证的多种方法
https://www.hackingarticles.in/multiple-ways-to-exploiting-http-authentication/ 1)场景 利用Apache配置HTTP验 ...