来自pid的Unix进程名称

时间:2014-01-09 11:17:54

标签: unix process pipe

我相信我要问的是,不可能。仍然试图找出我不知道的方法或方法。

我遇到了一个管道损坏的错误,我有目的地进程的pid而不是名字。有什么办法,我可以使用pid找出进程名称(可能已经终止)。

1 个答案:

答案 0 :(得分:1)

巴马尔在评论中说,这是不可能的。一旦系统终止,系统就会忘记有关进程的所有信息。

但当然,您的流程可能符合规定,以帮助您了解更多信息。如果您可以修改有问题的流程,您可以让他们将他们的PID记录到一个特殊的地方,在那里您可以查看哪个PID属于哪个流程。

但是,这对于无法修改的程序不起作用。在这些情况下,仍然可以在它们周围放置一个包装器,首先记录PID,然后exec s到所需的程序。

#!/bin/bash
echo "$$: $*" >> /home/alfe/var/pid.log
exec "$@"

如果你既没有启动有问题的程序,也没有修改它,你就不用担心了。