热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux系统网络命令(四)

一、pstree命令1、命令简介以树状图显示进程,只显示进程的名字,且相同进程合并显示。2、常用选项及举例2.1、以树状图显示进程,还显示进程PID:[root@hpf-linux

一、pstree命令

1、命令简介

        以树状图显示进程,只显示进程的名字,且相同进程合并显示。


2、常用选项及举例

2.1、以树状图显示进程,还显示进程PID:

[root@hpf-linux ~]# pstree -p
init(1)─┬─auditd(937)───{auditd}(938)
        ├─crond(1322)
        ├─dbus-daemon(1041)
        ├─master(1312)─┬─pickup(1485)
        │              └─qmgr(1326)
        ├─mingetty(1337)
        ├─mingetty(1339)
        ├─mingetty(1341)
        ├─mingetty(1343)
        ├─mingetty(1348)
        ├─mingetty(1350)
        ├─nginx(1078)───nginx(1080)
        ├─rpc.statd(997)
        ├─rsyslogd(957)─┬─{rsyslogd}(958)
        │               ├─{rsyslogd}(960)
        │               └─{rsyslogd}(961)
        ├─sshd(1101)───sshd(1351)───bash(1353)───pstree(1753)
        └─udevd(368)─┬─udevd(1346)
                     └─udevd(1347)

2.2、以树状图显示指定运行的pid进程以及子孙进程,如果有-p参数则同时显示每个进程的PID:

[root@hpf-linux ~]# pstree -p 368
udevd(368)─┬─udevd(1346)
           └─udevd(1347)

二、ps命令

1、命令简介

        Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top、htop命令。


2、常用选项

a  显示所有进程

-e 显示所有进程

f  显示程序间的关系

u  指定用户的所有进程

-C<命令> 列出指定命令的状况

x   通常与 a 这个参数一起使用,可列出较完整信息。

-o 自定义要显示的信息

-p 显示指定pid的进程


3、使用举例

3.1、出目前所有的正在内存当中的程序:

[root@hpf-linux ~]# ps aux        //或者使用ps -ef 两者的结果差不多
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1   2900  1412 ?        Ss   Jul15   0:01 /sbin/init
root         2  0.0  0.0      0     0 ?        S    Jul15   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Jul15   0:00 [migration/0]
root         4  0.0  0.0      0     0 ?        S    Jul15   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S    Jul15   0:00 [stopper/0]
root         6  0.0  0.0      0     0 ?        S    Jul15   0:00 [watchdog/0]
......................................

说明:

USER:该 process 属于那个使用者账号的

PID :该 process 的号码

%CPU:该 process 使用掉的 CPU 资源百分比

%MEM:该 process 所占用的物理内存百分比

VSZ :该 process 使用掉的虚拟内存量 (Kbytes)

RSS :该 process 占用的固定的内存量 (Kbytes)

TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。

STAT:该程序目前的状态,主要的状态有

R :该程序目前正在运作,或者是可被运作

S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。

T :该程序目前正在侦测或者是停止了

Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态

START:该 process 被触发启动的时间

TIME :该 process 实际使用 CPU 运作的时间

COMMAND:该程序的实际指令


3.2、显示指定用户进程

使用"-u"选项后跟用户名来过滤所属用户的进程,多个用户名可以用逗号分隔。

[root@hpf-linux ~]# ps -f -u nobody
UID        PID  PPID  C STIME TTY          TIME CMD
nobody    1815  1814  0 00:26 ?        00:00:00 nginx: worker process

   

3.3、通过cpu或者内存的使用排序进程

        我们在想显示系统中消耗最高CPU或者内存资源的进程时,一般会想到top命令通过键入P或者M来动态由高到低排序的显示,而ps命令中可以用‘--sort‘指定多个字段,并用逗号分割。除此之外,字段前面还可以跟上‘-‘或者‘+‘的前缀来相应地表示递减和递增排序:

[root@hpf-linux ~]# ps aux --sort=-pcpu | head -5
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1   2900  1412 ?        Ss   Jul15   0:01 /sbin/init
root         2  0.0  0.0      0     0 ?        S    Jul15   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Jul15   0:00 [migration/0]
root         4  0.0  0.0      0     0 ?        S    Jul15   0:00 [ksoftirqd/0]


3.3、改变显示的列

下面的命令会只显示pid、用户名、cpu、内存、命令列:

[root@hpf-linux ~]#  ps -e -o pid,uname,pcpu,pmem,comm
  PID USER     %CPU %MEM COMMAND
    1 root      0.0  0.1 init
    2 root      0.0  0.0 kthreadd
    3 root      0.0  0.0 migration/0
    4 root      0.0  0.0 ksoftirqd/0
    5 root      0.0  0.0 stopper/0
.........................................


3.4、显示进程运行的时间

运行的时间指的是,进程已经运行的时间。运行时间的列并没有默认显示,需要使用-o选项带入。

[root@hpf-linux ~]# ps -e -o pid,comm,etime
  PID COMMAND             ELAPSED
    1 init               08:13:49
    2 kthreadd           08:13:49
    3 migration/0        08:13:49
    4 ksoftirqd/0        08:13:49
    5 stopper/0          08:13:49
.................................


3.5、通过名字或者进程id显示进程

通过"-C"选项后面加上名字或者命令来搜索进程:

[root@hpf-linux ~]# ps -C nginx
  PID TTY          TIME CMD
 1814 ?        00:00:00 nginx
 1815 ?        00:00:00 nginx

要通过进程id显示进程,就使用"-p"选项,并且还可以通过逗号分隔来指定多个进程id。

[root@hpf-linux ~]# ps -f -p 28,23,45
UID        PID  PPID  C STIME TTY          TIME CMD
root        23     2  0 Jul15 ?        00:00:00 [khubd]
root        28     2  0 Jul15 ?        00:00:00 [khungtaskd]
root        45     2  0 Jul15 ?        00:00:00 [deferwq]

"-C"必须提供精确的进程名,并且它并不能通过部分名字或者通配符查找。为了更灵活地搜索进程列表,通常使用grep命令。

[root@hpf-linux ~]# ps aux |grep nginx
root      1814  0.0  0.0   5380   636 ?        Ss   00:26   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody    1815  0.0  0.0   5564   988 ?        S    00:26   0:00 nginx: worker process                                          
root      1879  0.0  0.0   5980   740 pts/0    S+   00:56   0:00 grep nginx


3.6、将ps转换为类是top命令的实时进程查看器

[root@hpf-linux ~]# watch -n 1 ‘ps -e -o pid,uname,cmd,pmem,pcpu --sort=-pmem,-pcpu | head -5‘
Every 10.0s: ps -e -o pid,uname,cmd,pmem,pcpu --so...  Thu Jul 16 01:02:26 2015
  PID USER     CMD                         %MEM %CPU
    1 root     /sbin/init                   0.1  0.0
    2 root     [kthreadd]                   0.0  0.0
    3 root     [migration/0]                0.0  0.0
    4 root     [ksoftirqd/0]                0.0  0.0

        输出会每秒刷新状态,但是这其实跟top不同。你会发现top/htop命令的输出相比上面的ps命令刷新得更频繁。 这是因为top输出是结合了cpu使用值和内存使用值后的排序值。但是上面的ps命令是一个更简单的行为的排序,每次获取一列(像学校的数学),因此它不会像top那样快速更新。 



参考:

http://linux.cn/thread/12046/1/1/

本文出自 “粗茶淡饭” 博客,请务必保留此出处http://cuchadanfan.blog.51cto.com/9940284/1675446

linux系统网络命令(四)


推荐阅读
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 在project.properties添加#Projecttarget.targetandroid-19android.library.reference.1..Sliding ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
author-avatar
奶爸乳酪
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有