搜索进程内存地址_Linux编程 6 (查看进程 ps 及输出风格)

一.查看进程命令ps
1.1 默认ps 命令

在默认情况下,ps命令只会显示运行在当前控制台下,属于当前用户的进程,在上图中,我们只运行了bash shell以及ps命令本身。 上图中显示了程序的进程ID(1538,1583),它们运行在TTY终端, 以及进程已有的CPU(TIME)时间。
1.2 ps 风格以及参数
在linux系统中使用的GNU ps命令支持3种不同类型的命令行参数。包括Unix风格的参数,BSD风格的参数,GNU风格的长参数。
二. Unix风格参数
在ps中每种风格的参数都很多,下面例举一些常用的Unix风格的ps命令参数。下面表格还有很多参数没有列出来。

多数linux系统管理员都有自己的一组参数,来提取有用的进程信息。例如可用-ef 参数组合,如下图所示: 2.1 ps –ef 参数组合命令

在上面的列表中,输出的信息包括:UID列是指启动这些进程的用户。PID列是指进程ID。 PPID列是指:父进程ID(该进程是由另一个进程启动的)。 C列是指进程生命周期中的CUP利用率。 STIME列是指进程启动时的系统时间。TTY列是指进程启动时的终端设备。TIME列是指运行进程需要的累计CPU时间。CMD列是指启动的程序名称。
2.2 ps –l 长列表
如果想要获取更多的信息,可以采用-l参数,它会产生一个长格式的输出,如下图所示:

上面的列表中,输出的信息包括:F列是指内核分配给进程的系统标记。S 是指进程状态(O是正在运行。S是休眠。R是可运行,正等待运行。Z是僵化,进程已结束但父进程已不存在,T是停止) 。 PRT列是指进程的优先级(越大数字表越低的优先级)。 NT列是指谦让度值,用来参与决定优先级。 ADDR列是指进程的内存地址。 SZ列是指假如进程被换出,所需的交换空间在大致大小。 WCHAN列是指进程休眠的内核函数的地址。
2.3 ps –ef|grep xx 查找进程
命令grep是查找, 中间 | 是管道命令,代表ps与grep同时执行。grep是一种强大的文本搜索工具,它能使用正则搜索文件,并把匹配的行打印出来。下面是匹配与nginx字符有关的进程, 用grep过滤后进程信息列名也屏蔽了。

下面命令加了l 长列表显示。

上图第二列值是S,代表当前nginx进程是休眠状态,第三列uid是属于hsr用户。
三. BSD 风格参数
BSD风格参数的ps命令参数常用如下(其它很多未列出)

使用BSD参数时,ps命令会自动改变输出以模仿Unix格式。例如:使用参数l输出:

上图中列输出与Unix风格输出大部份是一样的。只有小部份不同包括 VSZ是指进程在内存中的大小,以KB单位。 RSS是指进程在未换出时占用的物理内存。 STAT:代表当前进程状态的双字符状态码。
在STAT双字符状态码中,第一个字符与Unix的S列值一样。后一个字符代表如下:
<:>
N:该进程运行在低优先级上。
L:该进程有页面锁定在内存中。
s: 该进程是控制进程。
l: 该进程是多线程的。
+: 该进程运行在前台。
可以看出bash命令处于休眠状态。是一个控制进程。 Ps是运行在系统的前台。
四. GNU风格长参数
GNU长参数风格的ps命令参数常用如下(其它很多未列出)

例如使用组合参数输出。如下图所示:

例如与其Unix风格组合参数输出。如下图所示:

欢迎添加个人微信号:Like若所思。
欢迎关注我的公众号,不仅为你推荐最新的博文,还有更多惊喜和资源在等着你!一起学习共同进步!

相关文章:

关于最大子段和线性算法的证明
重复题目: 输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。 此题最初载于 http://blog.csdn.net/v_JULY_v/article/details/6444021 我在文…

SQL Server使用侦听器IP访问时遇到The target principal name is incorrect. Cannot generate SSPI context...
SQL Server使用侦听器IP访问时遇到"The target principal name is incorrect. Cannot generate SSPI context" 原文:SQL Server使用侦听器IP访问时遇到"The target principal name is incorrect. Cannot generate SSPI context"在测试SQL Server 2016 Alwa…

linux+Qt 下利用D-Bus进行进程间高效通信的三种方式
linuxQt 下利用D-Bus进行进程间高效通信的三种方式 原文链接: https://www.cnblogs.com/wwang/archive/2010/10/27/1862552.html D-Bus概述 什么是D-Bus? D-Bus是一种进程间通信的机制,它被设计成为一种低开销、低延迟的IPC,并被多种桌面环…

xbmc-12.0稳定版代码初探 (2) —— XBMC_HOME
XBMC工程在debug时要设置XBMC_HOME的环境 用于指定ffmpeg的Dll文件位置,语言等等 xbmc/filesystem/SpecialProtocol.cpp 定义了一些如: CSpecialProtocol::SetXBMCPath();的函数 xbmc\Application.cpp InitDirectoriesWin32(); -> CUtil::GetHomePat…

python是最好的语言 永远二十岁_Python是世界上最好的语言吗?
编程语言的选择是IT圈子永远的争议。在任意一个程序员聚集的场合,喊一句类似于“PHP是世界上最好的语言”这样的话,肯定会惹来不少人和你争论得面红耳赤。那么,python是世界上最好的语言吗?这个我不敢说,但是至少他应该…

(转)Android笔记--handler机制
一、重要参考资料 【参考资料】目前来看,下面的几个网址中的内容质量比较不错,基本不需要再读别的网址了。1、android消息机制一http://xtfncel.javaeye.com/blog/6635172、Android消息机制二http://xtfncel.javaeye.com/blog/6635183、Android线程间通信…

自制操作系统Antz(9)——实现内核 (下) 实现图形化界面
Antz系统更新地址: https://www.cnblogs.com/LexMoon/category/1262287.html Linux内核源码分析地址:https://www.cnblogs.com/LexMoon/category/1267413.html Github项目地址:https://github.com/CasterWx/AntzOS 在前几天的任务中ÿ…

python迷宫万花筒代码_利用广度优先遍历搜索迷宫的python源代码
广度优先遍历简称为DFS,是数据结构中比较常用的一个算法,主要原理是采用队列先进先出的规则,一层一层的访问图的节点。而迷宫问题接近与遍历,但是不同于遍历,主要考虑是采用栈的形式标记路径,并对当前节点和…

联想拯救者Y9000-ubuntu-nvidia-驱动安装
概述 由于联想拯救者Y9000的硬件都比较新,所以在安装ubuntu 的时候会有很多驱动的问题,本文主要讲解安装nvidia驱动的问题,如网卡、触摸板无效的其他问题请在我的其他文章中查找 友情提示 安装完系统之后先插网线装ssh服务, 确…

修改远程桌面端口
修改远程桌面端口需要两个步骤: 1、打开注册表 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp],修改右边PortNamber的值,其默认值是3389,修改成所希望的端口即可,例如3…

开发管理 CheckLists(4) -风险管理
本文章主要介绍在项目启动前怎么样分步骤的去识别风险,才去什么方式去识别风险. 有需要做风险识别的朋友可以按照下面的步骤简单的走上一遍,或者可以提高项目的成功率 注意:本文章只是你做风险识别的chekcLists ,上面提到的一些分析方法都只是简单的介绍…

python的深拷贝与浅拷贝
对于list, set, dict来说, 直接赋值. 其实是把内存地址交给变量. 并不是复制⼀份内容. 两个变量的内容其实为一个地址,如果要在复制的同时分配新的地址则需要用到深拷贝和浅拷贝的命令 lst1 ["何炅", "杜海涛","周渝⺠", ["麻花藤", …

safari post 请求接收不到_我是谁?我在哪?我要到哪去?——HTTP请求头
各位小白帽们好又到了新一期的知识点咯在正片开始之前再次提醒一下各位因为联盟管理的需要本周五(12月4日)5点半将会对各位在平台的答题分数进行统计筛选部分排名靠前的童鞋作为核心的正式会员考核压力来了大家是不是有点紧张呢只要积极学习知识积极参与答题向本AI卖萌要flag相…

SharePoint 2013 配置开发环境,需安装VS2012插件
SharePoint 2013已经安装好了,接下来就是配置开发环境,安装VS2012,但是,装好了以后,发现没有SharePoint 2013开发的支持,如下图: 然后,去网上查找资料,VS2012对SharePoin…

联想拯救者Y9000-ubuntu-U盘启动失败解决方法
注意事项 1、U盘要是USB3.0的U盘,否则基本会失败 安装到最后的时候报一个 cd/dvd 设备 low speed的故障 2、bios 设置 硬盘模式 选择 AHCImode 模式, 否则刷机不成功 3、 U盘镜像的烧录方式, 实测windows 下的rufus工具有效

RedHat Enterprise 5.1下OpenLDAP的配置及PAMNSS的配置
服务器端 192.1.0.160 客户机端 192.1.0.221 一、在服务器端配置LDAP服务: 1.下载 openldap-2.4.11.tar.gz和db-4.7.25.tar.gz 2.安装BerkeleyDB #rpm -qa|grep db # tar xvf db-4.7.25.tar.gz # cd db_4.7.25# cd build_unix/# ../dist/configure -prefix/usr/loca…

pwn with glibc heap(堆利用手册)
前言 对一些有趣的堆相关的漏洞的利用做一个记录,如有差错,请见谅。 文中未做说明 均是指 glibc 2.23 相关引用已在文中进行了标注,如有遗漏,请提醒。 简单源码分析 本节只是简单跟读了一下 malloc 和 free 的源码&am…

COCO KeyPoints关键点数据集准备
COCO KeyPoints关键点数据集准备 概述 网上搜了一圈,coco关键点数据集准备的内容比较少,这里写一篇完成的标注流程到数据集准备的文章,以备后忘 标注工具 coco官方标注工具: coco–annotator https://github.com/jsbroks/coco-annotator …

Boost 1.53.0 发布,可移植的C++标准库
Boost 1.53.0 发布了,包含了 5 个新的库,修复了一些安全漏洞以及 Boost.Locale 组件的 bug 。 新增的 5 个库包括: Boost.AtomicBoost.CoroutineBoost.MultiprecisionBoost.Numeric.OdeintBoost.Lockfree完整改进记录说明请看 changelog 下载…

华为云客户端_从技术角度解读华为云手机之于普通用户的可行性
9月1日,华为云宣布,华为首创全球首个ARM芯片的“云手机”正式公测。此消息一出,普通消费市场一片赞美之声,想必大家更多的想法是终于让华为找到了一个应对当前手机困局的解决方案了。据悉,华为云鲲鹏手机早在今年3月就…

c#获取应用程序目录
string str1 Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。 string str2Environment.CurrentDirectory;//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。//备注 按照定义,如果该进程在本…

【BZOJ5311/CF321E】贞鱼/Ciel and Gondolas(动态规划,凸优化,决策单调性)
【BZOJ5311/CF321E】贞鱼/Ciel and Gondolas(动态规划,凸优化,决策单调性) 题面 BZOJCF洛谷 辣鸡BZOJ卡常数!!!!!! 辣鸡BZOJ卡常数!!&…

python定时任务contrib_django+celery配置(定时任务+循环任务)
下面介绍一下djangocelery的配置做定时任务1.首先介绍一下环境和版本python2.7django 1.8.1celery 3.1.23django-celery 3.1.172.celery的安装sudo pip install celery3.1.23sudo pip install django-celery3.1.173.新建一个项目(1)django-admin startproject django_celery…

CenterNet KeyPoints 关键点训练自己的数据
概述 网上搜了一圈,关于CenterNet 训练关键点数据的资料非常少,而且讲得都很模糊,没法解决实际问题,也未说明细节和要素。在踏坑许久之后,才跑通CenterNet的关键点训练,于是记录一下踏坑历程,以…

Java学习笔记---字符类型
一、字符类型也算是整数类型的一种 字符类型在内存中占有2个字节,可以用来保存英文字母等字符。计算机处理字符类型时,是把这些字符当成不同的整数来看待,因此,严格说来,字符类型也算是整数类型的一种(小写…

我的家庭私有云计划-16
嗯,上午测试S2S的稳定性,改掉几个bug。还挺忙的。这会儿让机器跑测试去,腾出点时间,我们接着聊。 呵呵,昨天哪,已经有朋友批评我了,说我有点贪大求全,这个论坛什么的没必要自己实现&…

“cyl projection cannot cross pole” 解决方法
解决方法: 1、尝试更新NumPy以及相关模块: 在CMD里面执行 conda update –all 遇到提示选择yes/y 更新完毕后看是否可以载入。 发现并不能成功更新,于是采取了下面方法: 2、如果方法一不能解决,那么尝试卸载相关库&…

使用ubuntu(18.04) 作为软路由器连接互联网
使用ubuntu(18.04) 作为软路由器连接互联网 背景: 最近要用ubuntu机器作为中继路由,需要配置一下,但是内网外网网上找了一圈,五花八门的,照着做没有一个靠谱的,遇到的问题也没有任何说明&#…

程序员肿么了?为何总被认为是“屌丝”
没有想到会这么多人,有一点我强调一下,我的标题是被认为,而不是说真是。其实程序员相比其他行业不见得差,只是社会整体认可度不高。(或者说认知) 本文纯属闲时娱乐,请勿当真,请勿较真…

python空值填充_pandas | DataFrame基础运算以及空值填充
今天是pandas数据处理专题的第四篇文章,我们一起来聊聊DataFrame的基本运算。上一篇文章当中我们介绍了DataFrame数据结构当中一些常用的索引的使用方法,比如iloc、loc以及逻辑索引等等。今天的文章我们来看看DataFrame的一些基本运算。数据对齐我们可以…