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. python利用opencv合成模糊图像

    之前需要评估图像质量来筛选成像质量不错的图片,去除由于对焦,运动等造成的模糊图像,所以在构建数据集的时候考虑用opencv对清晰的图片进行处理获得模糊的图片从而进行训练. 1) 运动模糊图像 一般来说 ...

  2. 处理MySQL的ibdata1文件过大问题

    ibdata1文件是什么? ibdata1是一个用来构建innodb系统表空间的文件,这个文件包含了innodb表的元数据.撤销记录.修改buffer和双写buffer.如果file-per-tabl ...

  3. Golang 发送和接收数据公共类

    package RequestCenter import ( "bytes" "io" "net" "runtime" ...

  4. 关闭win10一切

    狂客原创,转载请注明来源 关闭更新 注册表(以管理员身份运行) 计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\     Start值 ...

  5. Spring MVC 知识点整理

    extend:http://www.jianshu.com/p/bef0e52067d2 1. Redis 存储方式 Redis存储机制分成两种Snapshot 和 AOF.无论是那种机制,Redis ...

  6. 读《javascript语法精粹》知识点总结

    昨天泡了大半天的读书馆,一口气看完了<javascript语法精粹>这本书,总体来说这本书还是写的不错,难怪那么多的推荐.<javascript语法精粹>主要是归纳与总结了ja ...

  7. java后端实习,从最简单的crud做起

    现在就是做ssm框架下的sql语句,主要是select语句,sql语句没什么难的,孰能生巧,趁此机会,把自己的sql基础打扎实,也是一种实习的经验. 1.在子查询中字段的类型不相容怎么办? cast函 ...

  8. python基础类型—元祖

    元组  被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组. 例:(1,2,3)("a","b","c") ...

  9. Linux 命令 which whereis locate find

    which: 查询某指令的完整路径 $ which [-a] command -a: 将所有在PATH目录中可以找到的指令均列出. 注意:只搜索PATH下的路径. whereis: 只搜索几个特定目录 ...

  10. [No0000198]swagger api一键导入postman

    在用postman进行接口测试时,对于参数较多的接口时第一次添加接口参数是比较繁琐的,可利用swagger一键导入api接口,事例如下: 1.获取swagger地址 2.打开postman,点击imp ...