温馨提示×

debian进程依赖如何查看

小樊
43
2026-09-19 22:18:58
栏目: 智能运维

在 Debian(以及大多数 Linux 发行版)里,“进程依赖”通常可以指几种不同场景。下面按常见需求分类说明如何查看。


一、查看【进程依赖的共享库(动态库)】

常用于排查“缺少 libxxx.so”之类问题。

1. ldd(最常用)

ldd /path/to/binary

或针对正在运行的进程:

ldd /proc/<PID>/exe

示例:

ldd /bin/ls

⚠️ 注意:不要对不信任的程序用 ldd(它可能执行代码)。


2. cat /proc/<PID>/maps

查看进程当前加载了哪些库文件:

cat /proc/1234/maps

更直观一点:

ls -l /proc/1234/map_files/

3. pmap

pmap <PID>

二、查看【进程依赖的包(Debian 软件包)】

如果你想看“某个进程来自哪个 deb 包,以及它依赖什么包”。

1. 查找进程对应的文件

which nginx
# 或
readlink /proc/<PID>/exe

2. 查文件属于哪个包

dpkg -S /usr/sbin/nginx

3. 查该包的依赖

apt-cache depends nginx

dpkg -s nginx

三、查看【进程依赖的其他进程 / 服务】

例如 systemd 服务之间的依赖。

1. systemd 服务依赖

systemctl list-dependencies nginx

反向依赖(谁依赖它):

systemctl list-dependencies --reverse nginx

2. 进程树(父子关系)

ps -ef
pstree -p <PID>

四、查看【运行中的进程打开了哪些文件/资源】

lsof -p <PID>

五、总结速查表

目的 命令
查看程序依赖的库 ldd
查看运行中进程加载的库 /proc/PID/maps
查看进程所属 deb 包 dpkg -S
查看包依赖 apt-cache depends
查看服务依赖 systemctl list-dependencies
查看进程打开的文件 lsof -p

如果你能具体说一下是**“缺库”“服务启动失败”“性能分析”还是“安全审计”**,我可以给你更针对性的命令示例。

0