Linux进程相关命令使用场景

在Linux系统上工作时,我们常常会碰到很多和进程相关的查询场景,今天在这里进行详细的讲解,进程相关的对象包括以下几个:

  • 端口:Port
  • 进程号:PId
  • 执行文件所在路径:executePath

从端口号到进程号

使用lsof -i:PortId进行查找(该命令只能使用root用户的身份运行),可以找到占用该端口的进程信息,如下:
| COMMAND | PID | USER | FD | TYPE | DEVICE | SIZE/OFF | NODE | NAME |
|:---|---:|
| svnserve | 29080 | root | 3u | IPv4 | 1075776 | 0t0 |TCP | *:svn (LISTEN)

COMMAND:进程名
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件。
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点
NAME:打开文件的确切名称

提示:lsof(list open files)本质上是显示系统打开的文件,Linux系统上所有的内容都以文件的形式存在,所以如果某个端口被某个进程监听了,那么一定存在相应的文件,lsof显示的信息就是这个文件的信息。

从进程号到执行文件位置

使用lsof -p PId进行查找(该命令只能用root用户的身份运行),可以找到相关文件的路径,如下所示:
|COMMAND | PID |USER| FD | TYPE | DEVICE| SIZE/OFF| NODE| NAME|
|:----------|-------:|
|dockerd-c |2884| root| cwd| DIR | 8,2| 224 | 64 |/|
|dockerd-c| 2884 |root | rtd | DIR | 8,2 | 224 | 64 |/|
|dockerd-c| 2884 |root| txt | REG | 8,2| 33358400 | 25379352| /usr/bin/dockerd-current|
|dockerd-c| 2884 |root | mem | REG| 8,2| 61624 | 141124 |/usr/lib64/libnss_files-2.17.so|
|dockerd-c| 2884 |root | mem | REG | 8,2 | 68192 | 13282 |/usr/lib64/libbz2.so.1.0.6|

在最后的一列的Name中应该就包含你需要寻找的路径

从进程名称到进程号

使用ps aux | grep PName进行查找,如下所示:
|USER | PID |%CPU |%MEM | VSZ | RSS |TTY | STAT| START | TIME |COMMAND|
|:-----
|root | 2884 | 0.0 | 2.8 |735672 |28660 |? | Ssl | 05:04 | 0:18 |/usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/libexec/docker/docker-proxy-current --init-path=/usr/libexec/docker/docker-init-current --seccomp-profile=/etc/docker/seccomp.json --selinux-enabled=false --insecure-registry gcr.io --storage-driver overlay2|

其实在ps aux的查询中可以找到命令的路径,只是看上去不那么好看而已

总结

所有和进程相关的信息,都需要以PId为基础,从PId出发我们可以查询到一切我们需要的信息,主要的命令记住三个就行:lsof -ilsof -pps aux

Linux进程相关命令使用场景的更多相关文章

  1. 12个Linux进程管理命令介绍(转)

    12个Linux进程管理命令介绍 [日期:2015-06-02] 来源:Linux中国  作者:Linux [字体:大 中 小]   执行中的程序在称作进程.当程序以可执行文件存放在存储中,并且运行的 ...

  2. [转帖]十二 个经典 Linux 进程管理命令介绍

    https://www.cnblogs.com/swordxia/p/4550825.html 接了 http referer 头 没法显示图片 可以去原始blog 里面去查看.   随笔- 109  ...

  3. Linux性能相关命令

    Linux性能相关命令 目录 Linux性能相关命令 1. 查看硬盘相关信息 2. 查看CPU相关信息 3. 查看内存相关信息 4. 查看进程运行的信息 1. 查看硬盘相关信息 cat /proc/s ...

  4. Linux文件管理相关命令

    Linux文件管理相关命令   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在了解了Linux文件管理背景知识之后, 我们可以 ...

  5. Linux 网络相关命令 Cheat Sheet

    以下漫画形式呈现的常用 Linux 网络相关命令速查表来自 twitter -

  6. 脚本_统计 Linux 进程相关数量信息

    #!bin/bash#作者:liusingbon#功能:统计 Linux 进程相关数量信息,running(运行的进程),sleeping(睡眠中的进程),stoped(停止的进程),zombie(僵 ...

  7. Linux解压缩相关命令

    Linux解压缩相关命令 运行级别: 0:关机 1:单用户 2:多用户无网络连接 3:多用户有网络连接 4:系统保留 5:图形界面 6:系统重启 通过init[0123456]来切换不同的运行级别 g ...

  8. Linux 文本相关命令(1)

    Linux 文本相关命令(1) 前言 最近线上环境(Windows Server)出现了一些问题,需要分析一下日志.感觉 Windows 下缺少了一些 Linux 系统中的小工具,像在这波操作中用到的 ...

  9. Linux文本相关命令

    Linux文本相关命令 目录 Linux文本相关命令 文本排序命令 文本去重命令 基础命令cut 文本三剑客 sed awk grep 文本排序命令 sort 常用参数: -n:以数值大小进行排序 - ...

随机推荐

  1. dedecms模板中 if else怎么写

    在制作dedecms模板时,有时需要使用IF  ELSE判断语句,但是dedecms模板中是无法使用使用IF语句的,否则会报错. 那么如何在dedecms模板中使用 if else呢?这就需要我们多走 ...

  2. MTK NTP和NITZ更新时间的问题

    NITZ(Network Identity and Time Zone,网络标识和时区),是一种用于自动配置本地的时间和日期的机制,同时也通过无线网向移动设备提供运营商信息.NITZ是自从PHASE ...

  3. Spring 注入枚举数组

    在spring的配置文件xml中 示例: <!--注入枚举数組--> <bean id="writeMapNullValue" class="org.s ...

  4. MakeFile 详解

    最近在学习Linux下的C编程,买了一本叫<Linux环境下的C编程指南>读到makefile就越看越迷糊,可能是我的理解能不行. 于是google到了以下这篇文章.通俗易懂.然后把它贴出 ...

  5. 11.13git和redis

    2018-11-13 15:46:40 git完结 redis完结, 还剩一点路飞项目!!!做完回学校!!!! 越努力,越幸运!永远不要高估自己! 关于 redis具体使用可以参考: http://w ...

  6. Ant 批量执行jmeter 脚本

    一.环境准备: 1.Jdk1.6或以上:http://www.oracle.com/technetwork/java/javase/downloads/index.html 命令行输入:java -v ...

  7. laravel的csrf token 的了解及使用

    之前在项目中因为没有弄清楚csrf token的使用,导致发请求的话,一直请求失败,今天就一起来看一下csrf的一些东西. 1.Cross-site request forgery 跨站请求伪造,也被 ...

  8. 小Q系列故事——屌丝的逆袭

    小Q系列故事——屌丝的逆袭 Problem Description 毕业于普通本科的小Q一直自称是资深屌丝,不仅学校不知名,甚至他自己在这个普通学校也是默默无闻——直到临近毕业的时候,班里5朵金花中的 ...

  9. javascript数组的实例属性(方法)

    javascript的所有数组实例对象,除了可以给自己增删属性之外:都会从Array.prototype继承属性(方法).修改Array的原型会影响所有的数组实例. 数组实例的属性: Array.pr ...

  10. maven 配置篇 之 settings.xml

    maven2 比起maven1 来说,需要配置的文件少多了,主要集中在pom.xml和settings.xml中.    先来说说settings.xml,settings.xml对于maven来说相 ...