linux初学者-进程篇
不管是windows还是linux,都有进程,那么什么是进程呢?进程就是cpu未完成的工作。下面会介绍一些关于系统中进程的查看以及管理的方法。
1、命令
1.1、命令使用
查看进程,使用的命令是"ps",加入参数"-a"表示关于当前环境的所有进程。
参数"x|A"均可表示所有进程,但是"A"列出的是正在进行的进程,而"x"列出的是包括已经结束的进程在内的所有进程。
参数"f"表示进程的从属关系。
参数"e"显示进程调用环境工具的详细信息。
参数"l"长列表显示进程的详细信息。
参数"u"可以显示进程的用户信息。
参数"-a"显示shell前台运行命令的进程,但不包含shell本身。
1.2、选择性查看
查看进程时,也可以只查看自己想要的内容,例如只想要查看进程的cpu使用情况,内存的使用情况,用户名,PID和状态,那么需要输入命令"ps ax -o %cpu,%mem,user,pid,stat"就可以出现下图。除此之外,"group"还可以显示组信息,"nice"显示进程优先级。
1.3、进程的状态
进程一般会出现五种状态。R(Running):该程序正在运行中。S(Sleep):该程序目前正在睡眠状态(idle),但可以被唤醒(signal)。D :不可被唤醒的睡眠状态,通常进程可能在等待I/O的情况。T:停止状态(stop),可能是在工作控制(背景暂停)或者除错(traced)的状态。Z(Zombie):僵尸状态,程序已经终止但却无法被移除至内存外。
可以通过"stat"选择性查看进程状态信息,如下图所示,其中"S"表示进程状态,"l"表示内存中有锁定空间,"N"表示优先级低,"<"表示优先级高,"+"表示前台运行,"s"表示顶级进程。
1.4、进程的排序
在查看进程时,有时候需要按照进程的信息进行排序查看,排序的命令为"ps ax -o %cpu,comm --sort <+|-%cpu > <+|-%mem> ","+"表示正序排列,"-"表示倒序排列。如下图为对CPU的使用量进行倒序排列。
2、进程的优先级
进程的优先级表示cpu处理程序的顺序,优先级范围为-20~19,数字越小表示优先级越高。查看优先级可以用"ps ax -o pid,nice,comm"实现,如下图。
如果需要更改程序的优先级,则需要输入命令"renice -n 优先级数字 进程pid",例如需要将"bash"程序的优先级改为15,就需要输入"renice -n 15 3475"。
如果在程序打开前指定优先级则需要的命令是"nice -n 优先级 进程",例如设置vim程序在打开时的优先级为19,则需要输入"nice -n 19 vim &"。
3、进程的前后台调用
在shell中打开一个"gedit",如下图,可以发现,"gedit"会弹出窗口,此时shell是无法继续使用的。
如果需要继续使用shell,就需要按"ctrl + z",把占用终端的进程打入后台。此时的进程是无法继续使用的。
输入"jobs"就可以查看被打入环境后台的进程。输入"fg jobsnum"就可以把后台进程调回前台,例如下图输入"fg 2"就可以重新使用"gedit"。
输入"bg"可以把后台暂停的进程后台运行,打入后台后还可以继续使用,同时shell也可以使用。
也可以在程序开启前在命令后加"&",让命令直接在后台运行。
4、进程的信号
4.1、信号种类
信号也就是直接提供给计算机的命令。计算机中有着很多很多的信号,一般应用最多也最普遍的信号是:
1 :进程重新加载配置但是不会关闭进程
2 :删除进程在内存中的数据
3 :删除鼠标在内存中的数据
9 :强行结束单个进程(不能被阻塞)
15:正常关闭进程(可能会被阻塞)
18:运行暂停的进程
19:暂停某个进程(不能被阻塞)
20:把进程打入后台(可以被阻塞)
可以输入"man 9 signal"可以查看信号详细信息。
4.2、信号的应用
"kill -信号 进程pid"可以对进程进行操作,例如输入"kill -15 4107"就可以结束"gedit"进程。
"killall -信号 进程名字"可以对相同进程进行批量操作,例如输入"killall -9 vim"就可以结束全部的"vim"进程。
此外,"pkill -u student -信号"还可以对指定用户的进程进行操作。
5、用户登陆审计
在使用linux系统时,有时候需要连接其他计算机或者终端,那么就需要查看是否有人正在连接或者连接过自己的计算机,也是对计算机的一种保护。
"w"可以查看使用系统的当前用户有那些。
"w -f "可以查看使用地点,例如有一台主机连接自己的主机后,下图就会显示出来。但是"w"命令只能显示正在连接自己主机的信息。
"last"命令可以查看用户登陆成功过的历史,如下图所示,虽然其他主机连接已经断开,但还是会显示出来。
"lastb"可以查看用户登陆但是未成功的历史,例如连接主机时密码没输对。
6、top
"top"命令可以监控系统负载工具,可以按"h"进入帮助查看使用帮助。
以上就是查看进程和进程管理常用的一些方式。
linux初学者-进程篇的更多相关文章
- linux初学者-SElinux篇
linux初学者-SElinux篇 SElinux是强制访问控制(MAC)安全系统,是linux历史上最杰出的新安全系统.对于linux安全模块来说,SElinux的功能是最全面的,测试也是最充分的, ...
- linux初学者-firewall篇
linux初学者-firewall篇 firewalld是防火墙的另一种程序,与iptables相同,但是使用起来要比iptables简单的点,不需要了解3张表和5条链也可以使用. 1.firewa ...
- linux初学者-mail篇
linux初学者-mail篇 邮件是在生活中比较常用的一个工具,在linux系统中的邮件也是.在linux中,邮件的发送所用的服务时postfix,邮件的接收所用的服务是pop(110端口).ima ...
- linux初学者-iptables篇
linux初学者-iptables篇 iptables是防火墙的一种,是用来设置.维护和检查linux内核的IP过滤规则的,可以完成封包过滤.封包重定向和网络地址转换(NAT)等功能. iptabl ...
- linux初学者-Apache篇
linux初学者-Apache篇 Apache提供了超文本传输协议http,httpd是Apache超文本传输协议的主服务器.下文将对httpd的安装和配置进行简单的叙述. ...
- linux初学者-iscsi篇
linux初学者-iscsi篇 之前介绍过网络文件共享系统NFS和CIFS.在系统中,设备也是可以共享的,这就是iSCSI,它可以用来建立和管理IP存储设备.主机和客户机等之间的相互 ...
- linux初学者-ftp篇(一)
linux初学者-ftp篇(一) FTP是文件传输协议,是用于Internet上的控制文件的双向传输.用户可以通过客户机程序从远程主机上下载或者向远程主机上传文件. linux系统中,如果不了解SEL ...
- linux初学者-磁盘阵列篇
linux初学者-磁盘阵列篇 在磁盘的使用中,有时候需要提高磁盘的读写数据速度,就要用到磁盘组——raid,也就是磁盘阵列. 磁盘阵列是由最少两块以上的磁盘组成的,raid有许多模式,在这里将介绍其中 ...
- ## 本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘
本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘一,磁盘管理1.显示当前目录位置 pwd2.切换目录 cd ...
随机推荐
- uni-app中Vuex的引用
//store 中 store.js import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const store = new Vue ...
- dedecms自学
[dedecms笔记] index.htm 主页模板head.htm 列表头部模板footer.htm ...
- python之mock模块基本使用
mock简介 mock原来是python的第三方库 python3以后mock模块已经整合到了unittest测试框架中,不用再单独安装 Mock这个词在英语中有模拟的这个意思,因此我们可以猜测出这个 ...
- abp(net core)+easyui+efcore仓储系统——展现层实现增删改查之控制器(六)
abp(net core)+easyui+efcore仓储系统目录 abp(net core)+easyui+efcore仓储系统——ABP总体介绍(一) abp(net core)+easyui+e ...
- 设计模式之单例模式的几种写法——java
对于设计模式的使用场景和好处,之前有介绍一篇,今天主要是单例模式的编写方式,直接看代码吧 单例模式之饿汉模式,不会懒加载.线程安全 /** * @Author wangtao * @Descripti ...
- 《菜鸟也要学会C》-和大家聊一聊
简介 为什么要出本系列作品? 怎么学好C? 学完这套课程后,我的编程会怎么样? 1.1为什么要出本系列作品? 随着大部分人喜欢编程,大部分人都有一个毛病,就是想要急切的学完编程.其实这种思想是错误的, ...
- Scala 学习之路(十一)—— 模式匹配
一.模式匹配 Scala支持模式匹配机制,可以代替swith语句.执行类型检查.以及支持析构表达式等. 1.1 更好的swith Scala不支持swith,可以使用模式匹配match...case语 ...
- 【React】react学习笔记01-概念与基本使用
俺为啥要学这玩意: 家里的杂事好不容易处理完了,开始正式静下心来学习~博主是做后端开发的,js基础不深,之前也是用React写过许多东西了,但是基本上都是用的CV大法,别人的组 件修修改改拿来 ...
- 跟我学SpringCloud | 第四篇:熔断器Hystrix
跟我学SpringCloud | 第四篇:熔断器Hystrix 1. 熔断器 服务雪崩 在正常的微服务架构体系下,一个业务很少有只需要调用一个服务就可以返回数据的情况,这种比较常见的是出现在demo中 ...
- pdfminer获取每页的layout
#! python2 # coding: utf-8 import sys from pdfminer import pdfparser from pdfminer import pdfdocumen ...