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. linux执行python命令后permission denied

    linux下执行python后显示被拒绝问题定位: 1.检查下要执行的文件的权限是否存在执行权限,否则执行chmod命令赋予权限: 2.若赋予权限后仍然显示没有权限,检查下执行的python文件是否有 ...

  2. RTX参数配置

        RTX操作系统的配置工作是通过配置文件RTX_Conf_CM.c实现.     在MDK工程中打开文件RTX_Conf_CM.c,可以看到如下图5.2所示的工程配置向导:  20 Task C ...

  3. ganglia-gmetad 配置文件

    gmetad 主要用来收集和汇聚gmond所收集的指标数据的守护进程,通过tcp端口8651监听其他gmetad连接,并向授权的主机提供xml格式的网络状态,gmetad通过tcp端口8652 对交互 ...

  4. vmare 往 virtualbox迁移

    vmare实在太卡了.抓狂. 于是想迁移到virtualbox观察下. 谷歌了下方案,发现众说纷纭. 有操作超级复杂的,比如:http://stackoverflow.com/questions/69 ...

  5. yarn配置日志聚合

    [原文地址] 日志聚集是YARN提供的日志中央化管理功能,它能将运行完成的Container/任务日志上传到HDFS上,从而减轻NodeManager负载,且提供一个中央化存储和分析机制.默认情况下, ...

  6. Spring-Boot构建多模块项目

    Spring-Boot构建多模块项目 功能模块单独项目开发,可以将一个庞大的项目分解成多个小项目,便于细分开发 Maven多模块项目不能独立存在,必须有一个介质来包含. 1.创建一个Maven 项目, ...

  7. Java进程与线程的区别

    每个进程都独享一块内存空间,一个应用程序可以同时启动多个进程.比如浏览器,打开一个浏览器就相当于启动了一个进程. 线程指进程中的一个执行流程,一个进程可以包含多个线程. 每个进程都需要操作系统为其分配 ...

  8. Java 实现 AES 加解密

    毕业课题中需要使用加解密算法,要求加解密前后的数据长度不会变化,查了一些资料,发现可以采用AES加密的CFB跟OFB模式是无填充的模式,可以保持加解密前后数据的长度相等.下面上代码: import j ...

  9. C和C指针小记(十五)-结构和联合

    1.结构 1.1 结构声明 在声明结构时,必须列出它包含的所有成员.这个列表包括每个成员的类型和名称. struct tag {member-list} variable-list; 例如 //A s ...

  10. css 子盒子上下居中 文字溢出省略号

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...