linux命令查进程,Linux常用命令(十)查看和控制进程
Linux常用命令(十)查看和控制进程
一、查看进程
1、ps命令——查看静态的进程统计信息(Processes Statistic)
ps命令时Linux系统中最为常用的进程查看工具,主要用于显示包含当前运行的各进程完整信息的静态快照。通过不同的命令选项,可以有选择性地查看进程信息。
■a:显示当前终端下的所有进程信息,包括其他用户的进程。与“x”选项结合时将显示系统中所有的 进程信息。
■u:使用以用户为主的格式输出进程信息。
■x:显示当前用户在所有终端下的进程信息。
■–e:显示系统内的所有进程信息。
■–l:使用长格式显示进程信息。
■–f:使用完整的格式显示进程信息。
以上是ps命令中几个常用的选项,需要注意的是,有一部分选项时不带“-”前缀的。习惯上将上述选项组合在一起使用,如执行“ps aux”或“ps -elf”。
执行“ps aux”命令后,将以简单列表的形式显示出进程信息。[root@houliangjin6 ~]# ps aux
上述输出信息中,第一行为列表标题,其各字段的含义描述如下。
■USER:启动该进程的户账号的名称。
■PID:该进程在系统中的数字ID号,在当前系统中是唯一的。
■TTY:表明该进程在哪个终端上运行。“?”表示未知或不需要终端。
■STAT:显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵死)、
■START:启动该进程的时间。
■TIME:该进程占用的CPU时间。
■COMMAND:启动该进程的命令的名称。
■%CPU:CPU占用的百分比。
■%MEM:内存占用的百分比。
■VSZ:占用虚拟内存(swap空间)的大小。
■RSS:占用常驻内存(物理内存)的大小。
若执行“ps -elf”命令,则将以长格式显示系统中的进程信息。例如,输出的信息中还包括PPID列(表示对应进程的父进程的PID号)。[root@houliangjin6 ~]# ps -elf
直接执行不带任何选项的ps命令时,将只显示当前用户会话中打开的进程。
2、top命令——查看进程动态信息
top命令将会在当前终端以全屏交互式的界面显示进程排名,及时跟踪包括CPU、内存等系统资源占用情况,默认情况下每三秒刷新一次。作用类似Windows系统中的“任务管理器”。[root@houliangjin6 ~]# top
上述输出信息中,开头的部分显示了系统任务(Tasks)、CPU占用、内存占用(Mem)、交换空间(Swap)等汇总信息;汇总信息下方依次显示当前进程的排名情况。相关信息的含义表述如下。
■系统任务(Tasks)信息:total,总进程数;
running,正在运行的进程数;
sleeping,休眠的进程数;
stopped,终止的进程数;
zombie,僵死无响应的进程数。
■CPU占用信息:us,用户占用;
sy,内核占用;
ni,优先级调度占用;
id,空闲CPU;
wa,1/0等占用;
hi,硬件中断占用,si,软件中断占用;
st,虚拟化占用。
■内存占用(Mem)信息:total,总内存空间;
used,已用内存;
free,空闲内存;
buffers,缓冲区域。
交换空间(Swap)占用:total,总内存空间;
used,已用内存;
free,空闲内存;
buffers,缓冲区域。
在top命令的全屏操作界面中:可以按P键根据CPU占用情况对进程列表进行排序。
按M键根据内存占用情况进行排序。
按N键根据启动时间进行排序。
按h键可以获得top程序的在线帮助。
按q键可以正常的退出top程序。
按k键在列表上方会出现“PID to kill:”的提示信息,根据提示输入指定进程的PID并按Enter键确认即可终止对应的进程。
3、pgrep命令——查询进程信息
使用pgrep命令可以根据进程的名称、运行该进程的用户、进程所在的终端等多种属性查询特定进程的PID号。
通过pgrep命令,可以只指定进程的一部分名称进行查询,结合“-l”选项可同时输出对应的进程名(否则只输PID号,不便于理解)。例如,查询进程中包含“log”的进程及其PID号,可以执行以下操作。[root@houliangjin6 ~]# pgrep -l “log”
2538 rsyslog
2113 mcelog
还可以结合“-U”选项查询特定用户的进程、“-t”选项查询在特定终端运行的进程。例如,若要查询用户zhangsan在tty3终端上运行的进程及PID号,可以执行以下操作。[root@houliangjin6 ~]# pgrep -l -U zhangsan-t tty3
2105 bash
2122 vim
4、pstree命令——查看进程树
pstree命令可以输出Linux系统中各进程的树形结构,以更加直观地判断出各进程之间的相互关系(父、子进程)。
pstree命令默认情况下只显示个进程的名称,结合“-p”选项使用时可以同时列出对应的PID号,结合“-u”选项可以列出对应的用户名,结合“-a”选项可以列出完整的命令信息。
例如,执行“pstree -aup”命令可以查看当前系统的进程树,包括个进程对应的PID号、用户名、完整命令等信息。从出输出结果中可以看出,init进程确实是Linux系统中所有进程的“始祖”
二、控制进程
1、启动进程
1)、手动启动进程
用户手工输入命令或者可执行程序的路径,可以至少启动一个进程。根据该进程是否需要占用当前的命令终端,手工启动又可以分为前台启动和后台启动。
进程在前台运行时(如执行“ls -l”命令),用户必须等到该进程执行结束并退出以后才能继续输入其他命令,大多数的命令操作都是在前台运行。进程在后台运行时,用户可以继续在当前终端继续输入其他命令,而无需等待该进程结束,适用于运行耗时较长的操作。
启动后台运行进程需要使用“&”操作符,将“&”操作符放在要执行命令的最后面,进程启动后悔直接放入后台运行,而不占用前台的命令操作界面,方便用户进行其他操作。
例如,当使用cp命令从光盘中制作镜像文件时,由于需要复制的数据较多,耗时较长,因此可结合“&”符号将复制操作放到后台运行。[root@houliangjin6 ~]# cp /dev/cdrom/root/Redhat6.0.iso &
[1] 2172
2)、调度启动进程
在服务器维护工作中,经常需要执行一些比较费时而且较占用资源的任务(如数据备份),这些任务更适合在相对空闲的时候(如夜间)进行。这时就要用户事先进行调度安排,指定任务运行的时间,当系统到达设定时间时会自动启动并完成指定的任务。调度启动的计划任务进程均在后台运行,不会占用用户的命令终端。
进程的调度启动可以通过at、crontab命令进行设置,其中at命令用于设置一次性计划任务,crontab用于设置周期性运行的计划任务。关于at和crontab的配置将在下一篇博客里边讲解。
2、改变进程的运行方式
1)、挂起当前的进程
当Linux系统中的命令正在前台执行时(运行尚未结束),按Ctrl+Z组合键可以将当前进程挂起(调入后台并停止执行),这种操作在需要暂停当前进程并进行其他操作时特别有用。
[root@houliangjin6 ~]# cp /dev/cdrom/mnt/Redhat6.0.iso
[1]+ Stopped cp -i/dev/cdrom /mnt/Redhat6.0.iso
2)、查看后台的进程
查看当前终端中在后台运行的进程任务时,可以使用jobs命令,结合“-l”选项可以同时显示出该进程对应的PID号。
[root@houliangjin6 ~]# jobs -l
[1]+ 2193停止cp -i /dev/cdrom /mnt/Redhat6.0.iso
3)、将后台的进程恢复运行
■使用bg(BackGround,后台)命令,可以将后台中暂定执行(如按Ctrl+Z组合键挂起)的任务恢复运行,继续在后台执行操作、
■使用fg命令(ForeGround,前台)命令,可以将后台任务重新恢复到前台运行。
除非后台中的任务只有一个,否则bg和fg命令都需要指定后台进程的任务编号作为参数。
例如,执行“fg 1”命令可以将之前挂起至后台的cp进程重新调入前台执行。[root@houliangjin6 /]# jobs
[1]+ Stopped cp -i/dev/cdrom /mnt/Redhat6.0.iso
[root@houliangjin6 /]# fg 1
cp -i /dev/cdrom /mnt/Redhat6.0.iso
3、终止进程执行
当用户在前台执行某个进程时,可以按Ctrl+C组合键强制进行中断(如命令长时间没有响应的情况下)。
1)、使用kill命令终止进程
通过kill命令终止进程时,需要使用进程的PID号作为参数。无特定选项时,kill命令将给该进程发送终止信号并正常退出运行,若该进程已经无法响应终止信号,则可以结合“-9”选项强行终止进程。强制终止进程时可能会导致程序运行的部分数据丢失,因此不到不得已不要轻易使用“-9”
选项。
■(查询目标进程的PID号)[root@houliangjin6 /]# pgrep -l "sshd"
1583 sshd
1907 sshd
■(终止指定PID的进程)
[root@houliangjin6/]# kill 1583
■(确认进程已终止)[root@houliangjin6 /]# pgrep -l "sshd"
1907 sshd
[root@houliangjin6 /]#
对于无法正常终止的系统进程,在必要时可以结合“-9”选项强制终止。
2)、使用killall命令终止进程
使用killall命令可以通过进程名来终止进程,当需要结束系统中多个相同名称的进程时,使用killall命令将更加方便,效率更高。killall命令同样也有“-9”选项。
例如,挂起两个vim测试进程,通过killall命令终止多个进程。[root@houliangjin6 /]# vim 1
[1]+ Stopped vim 1
[root@houliangjin6 /]# vim 2
[2]+ Stopped vim 2
[root@houliangjin6 /]# jobs -l
[1]- 25330 停止 vim 1
[2]+ 25332 停止 vim 2
[root@houliangjin6 /]# killall -9 vim
[1]- 已杀死 vim 1
[2]+ 已杀死 vim 2
3)、是用pkill命令终止进程
使用pkill命令可以根据进程的名称、运行该进程的用户、进程所在的终端等多种属性终止特定的进程,大部分选项与pgrep命令基本类似,如“-U”(指定用户)、“-t”(指定终端)等选项。
例如,若要终止由用户zhangsan启动的进程(包括登陆Shell),可以执行以下操作。[root@houliangjin6 /]# pgrep -l -U"zhangsan"
2105 bash
[root@houliangjin6 /]# pkill -9 -U"zhangsan"
[root@houliangjin6 /]# pgrep -l -U"zhangsan"
linux命令查进程,Linux常用命令(十)查看和控制进程相关推荐
- 【方向盘】达到Linux第三阶段的常用命令笔记记录---Part Ⅱ
实现自己既定的目标,必须能耐得住寂寞单干 本文已被https://yourbatman.cn收录:女娲Knife-Initializr工程可公开访问啦:程序员专用网盘https://wangpan.y ...
- Linux(Ubuntu) 使用指南和常用命令
L i n u x ( U b u n t u ) Linux(Ubuntu) Linux(Ubuntu) 使用指南与常用命令 Copyright: Jingmin Wei, Pattern Reco ...
- linux命令grep和find怎么用,Linux下find和grep常用命令及区别介绍
在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区别的. 区别: (1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空 ...
- Linux K8S(Kubernetes)常用命令
Linux K8S(Kubernetes)常用命令集 一.K8S简介 二.常用命令 2.1 想查看kubectl命令的方法 2.2 常用的命令类 2.3 K8S常用命令 一.K8S简介 Kuberne ...
- 查看Linux当前操作系统版本信息常用命令
查看Linux当前操作系统版本信息常用命令 Linux查看当前操作系统版本信息 Linux查看版本当前操作系统内核信息 linux查看版本当前操作系统发行信息 Linux查看cpu相关信息,包括型号. ...
- NO9 Linux快捷键整理及最常用命令
Linux快捷键整理及最常用命令 常用快捷键: Ctrl + u 删除光标之前到行首的字符 Ctrl + k 删除光标之前到行尾的字符 Ctrl + c ...
- Linux查看和控制进程
转自:https://baijiahao.baidu.com/s?id=1617448120776344096&wfr=spider&for=pc Linux如何查看和控制进程 前言: ...
- 中兴zxr10路由器重启命令_中兴交换机常用命令
中兴交换机配置命令 ZTE交换机配置常用命令汇总 命令的使用要注意各种用户模式. 配成普通交换机:把2-24端口归到VLAN1下,2-24端口如果互相隔离,可以用PVLAN删除隔离端口即可. 2852 ...
- linux .lz进程,LLinux常用命令(二)
Linux常用命令(二) 16 磁盘空间 df -h . fdisk -l 显示已经挂载的分区列表 17 用户和群组 groupadd group_name 创建一个新用户组 groupdel gro ...
最新文章
- Xtrabackup备份到远程服务器
- 类型转换与采样 || SMOTE算法
- mac pdf去水印_今天才知道,Word、PDF文档去水印这么简单!一键水印说拜拜
- Java 图形用户界面(GUI)java.awt包概述
- delete表1条件是另一个表中的数据,多表连接删除
- java登录界面命令_Java命令行界面(第30部分):观察
- Java线程Fork/Join思想及实现
- java静态代码块和构造方法_Java静态代码块和构造方法执行顺序
- html背景设置为彩色,CSS3 彩色网格背景
- 对象functionJavaScript: The Definitive Guide 权威指南,读书笔记(一)
- 概率论总结(《概率论与数理统计》第四版 浙江大学)
- 数据库索引原理及优化
- 如何重置IE浏览器?重置IE浏览器的方法
- c++ 调用meshlab程序慢_从Meshlab学架构
- wp8 android,WP8桌面主题|WP8桌面v1.5.2 for Android版 - 玩客网
- 图像分割之分水岭分割算法
- 服务端判断客户端是移动端浏览器还是PC端浏览器
- 计算机专业进国企有什么难度,大学毕业后才发现,国企与私企的差距不是一星半点,希望你没选错...
- 运行Django项目报错解决,OSError: [WinError 123] 文件名、目录名或卷标语法不正确。
- 右键菜单,下拉选项的截屏
热门文章
- linux系统安装oracle 报错INS-30131 无法访问临时位置 version of exectask could not be retrieved from node
- KeyValuePair和Dictionary详解:
- 2020第六届美亚杯中国电子数据取证大赛个人资格赛
- java ntohl_socket中的ntohl() 和ntohs() ,以及htonl()和htons()
- 【pwnable.kr】Toddler‘s Bottle-[random]
- ubuntu安装python库_Python安装:如何在ubuntu下安装python库
- 房地产行业是如何使用彩信广告进行宣传的?
- 【聆听】汪国真诗集(一)
- Python爬取CAP之家的APP推广信息数据
- Rides5.0.4版本单机版设置