18个实例掌握 lsof 命令( 三 )


# lsof -i

18个实例掌握 lsof 命令

文章插图
 
14) 查看 IPv4 / IPv6 套接字文件
查看 IPv4 套接字文件
# lsof -i@192.168.1.189
18个实例掌握 lsof 命令

文章插图
 
通过带有一系列零的相关数字冒号形式的地址查找 IP 版本 6 的套接字文件,例如,循环地址(127.0.0.1)
# lsof -i@[::1]COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEmaster 2433 root 14u IPv6 21027 0t0 TCP localhost:smtp (LISTEN)15) 列出属于某个进程 ID 的所有进程
假设我们想要列出属于特定进程 id 的所有进程,示例如下
# lsof -p 1598
18个实例掌握 lsof 命令

文章插图
 
16) 终止用户的所有进程
杀死所有属于 linuxtechi 用户的进程
# kill -9 `lsof -t -u linuxtechi`17) 查看特定目录下所有打开的文件
语法如下:
lsof +D
列出 /var/log 目录下打开的所有文件
# lsof +D /var/log/
18个实例掌握 lsof 命令

文章插图
 
注意:在上面的命令中,如果我们使用 +D 选项,那么 lsof 将递归地列出目录中所有打开的文件,如果你不想递归地列出目录中打开的文件,那么使用 +d 选项
18) 检查谁打开日志文件(找到 PID)
下面的命令用于查找是谁打开了/var/log/httpd/access.log 文件,以及该进程的 PID 是什么 。然后用“ps -ef”命令我们可以找到确切的用户
# lsof -t /var/log/httpd/access_log310931103111311231133114# ps -ef | grep -E "3109|3110|3111|3112|3113|3114" | grep -v grepor# ps -fp "$(lsof -t /var/log/httpd/access_log | xargs echo)"root 3109 1 0 03:36 ? 00:00:00 /usr/sbin/httpd -DFOREGROUNDapache 3110 3109 0 03:36 ? 00:00:00 /usr/sbin/httpd -DFOREGROUNDapache 3111 3109 0 03:36 ? 00:00:00 /usr/sbin/httpd -DFOREGROUNDapache 3112 3109 0 03:36 ? 00:00:00 /usr/sbin/httpd -DFOREGROUNDapache 3113 3109 0 03:36 ? 00:00:00 /usr/sbin/httpd -DFOREGROUNDapache 3114 3109 0 03:36 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND我的开源项目
18个实例掌握 lsof 命令

文章插图
 
 
  • course-tencent-cloud(酷瓜云课堂 - gitee 仓库)
  • course-tencent-cloud(酷瓜云课堂 - github 仓库)
 




推荐阅读