gpt4 book ai didi

Linux:列出所有从磁盘上不再存在的可执行文件运行的正在运行的进程?

转载 作者:太空宇宙 更新时间:2023-11-04 10:52:07 25 4
gpt4 key购买 nike

我试图列出 Linux 中所有正在运行的进程,这些进程是从磁盘上不再存在的可执行文件运行的。

根据我的观察,/proc 文件系统包含/proc/[pid]/exe 符号链接(symbolic link)。但这仅在可执行文件存在时才存在。

有没有办法做到这一点?

最佳答案

取决于内核(或操作系统? - 我的是 3.16.7-21-desktop/OpenSUSE 13.2)它可能真的很简单,因为当删除原始 exe 时链接源会自动重命名 - ' ( deleted)' 后缀附加到它:

$ ls -ld /proc/16415/exe
lrwxrwxrwx 1 dancorn at 0 May 25 10:48 /proc/16415/exe -> /tmp/sleep (deleted)

对于没有重命名符号链接(symbolic link)的旧版本,如果它也没有被删除(不一定是),它只是一个损坏的符号链接(symbolic link),也相对容易检查:

$ python
>>> import os
>>> os.path.realpath('/proc/16415/exe')
'/tmp/sleep (deleted)'
>>> os.path.exists(os.path.realpath('/proc/16415/exe'))
False

关于Linux:列出所有从磁盘上不再存在的可执行文件运行的正在运行的进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30437536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com