不管是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初学者-进程篇的更多相关文章

  1. linux初学者-SElinux篇

    linux初学者-SElinux篇 SElinux是强制访问控制(MAC)安全系统,是linux历史上最杰出的新安全系统.对于linux安全模块来说,SElinux的功能是最全面的,测试也是最充分的, ...

  2. linux初学者-firewall篇

     linux初学者-firewall篇 firewalld是防火墙的另一种程序,与iptables相同,但是使用起来要比iptables简单的点,不需要了解3张表和5条链也可以使用. 1.firewa ...

  3. linux初学者-mail篇

     linux初学者-mail篇 邮件是在生活中比较常用的一个工具,在linux系统中的邮件也是.在linux中,邮件的发送所用的服务时postfix,邮件的接收所用的服务是pop(110端口).ima ...

  4. linux初学者-iptables篇

     linux初学者-iptables篇 iptables是防火墙的一种,是用来设置.维护和检查linux内核的IP过滤规则的,可以完成封包过滤.封包重定向和网络地址转换(NAT)等功能. iptabl ...

  5. linux初学者-Apache篇

     linux初学者-Apache篇          Apache提供了超文本传输协议http,httpd是Apache超文本传输协议的主服务器.下文将对httpd的安装和配置进行简单的叙述.     ...

  6. linux初学者-iscsi篇

     linux初学者-iscsi篇         之前介绍过网络文件共享系统NFS和CIFS.在系统中,设备也是可以共享的,这就是iSCSI,它可以用来建立和管理IP存储设备.主机和客户机等之间的相互 ...

  7. linux初学者-ftp篇(一)

    linux初学者-ftp篇(一) FTP是文件传输协议,是用于Internet上的控制文件的双向传输.用户可以通过客户机程序从远程主机上下载或者向远程主机上传文件. linux系统中,如果不了解SEL ...

  8. linux初学者-磁盘阵列篇

    linux初学者-磁盘阵列篇 在磁盘的使用中,有时候需要提高磁盘的读写数据速度,就要用到磁盘组——raid,也就是磁盘阵列. 磁盘阵列是由最少两块以上的磁盘组成的,raid有许多模式,在这里将介绍其中 ...

  9. ## 本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘

    本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘一,磁盘管理1.显示当前目录位置 pwd2.切换目录 cd ...

随机推荐

  1. Win7 访问 数据库 慢

    不让TCP/IP调谐拖累网速 在Windows Server 2008工作环境中,下载访问网络中大容量的文件内容时,我们有时会感觉到网络连接速度非常缓慢,严重的时候还会出现不能访问的现象.遭遇这类故障 ...

  2. Android native进程间通信实例-binder篇之——用parcel传输数组

     和之前稍微不同,这次要稍微分析一下 Parce.cpp 和 android_os_Parcel.cp p的源码,为的是能够掌握调试技巧,后续传输其它类型数据就能举一反三了!   1. 代码共享 这次 ...

  3. spring boot 2.x 系列 —— spring boot 实现分布式 session

    文章目录 一.项目结构 二.分布式session的配置 2.1 引入依赖 2.2 Redis配置 2.3 启动类上添加@EnableRedisHttpSession 注解开启 spring-sessi ...

  4. 【React】遍历的两种方式

    1.foreach(推荐) list.forEach((item)=>{ }); eg: dataSource.forEach((item) => { const est = item.e ...

  5. docker search/pull 报错

    docker报错 Get https://registry-1.docker.io/v2/: x509: certificate has expired or is not yet valid 这种错 ...

  6. hdoj2036 改革春风吹满地——叉积

    利用向量积(叉积)计算三角形的面积和多边形的面积 关于叉积计算三角形面积和多边形面积 Problem Description " 改革春风吹满地, 不会AC没关系; 实在不行回老家, 还有一 ...

  7. Nginx查看并发连接数

    Nginx查看并发连接 通过界面查看 通过界面查看通过web界面查看时Nginx需要开启status模块,也就是安装Nginx时加上 --with-http_stub_status_module 然后 ...

  8. smobiler介绍(二)

    类似开发WinForm的方式,使用C#开发Android和IOS的移动应用?听起来感觉不可思议,那么Smobiler平台到底是如何实现的呢,这里给大家介绍一下. 客户端 Smobiler分为两种客户端 ...

  9. Qt之股票组件-股票检索--支持预览框、鼠标、键盘操作

    目录 一.感慨一下 二.效果展示 三.搜索编辑框 1.编辑框 2.预览框 四.相关文章 原文链接:Qt之股票组件-股票检索--支持预览框.鼠标.键盘操作 一.感慨一下 之前做过一款炒股软件,个人觉着是 ...

  10. java word转html 报错 org/apache/poi/xwpf/usermodel/IRunBody

    最终解决的办法是修改jar包版本,一定要对应上. <dependency> <groupId>org.apache.poi</groupId> <artifa ...