为什么这个 Python 进程在我的 Mac OS X 服务器上运行?

为什么这个 Python 进程在我的 Mac OS X 服务器上运行?

有什么方法可以了解是什么启动了这个过程以及为什么?

$ ps -e

  PID TTY           TIME CMD
  ...
   41 ??         0:00.55 /System/Library/Frameworks/Python.framework/Versions/2.5/Resources/Python.

答案1

使用ps -efww。该-f选项添加了一个PPID,它将告诉您父进程 ID(“启动此进程的原因”)。该-ww选项删除了所有行长度限制,以便您可以看到整个命令,这可能会告诉您“为什么”。我怀疑“Python.app”被截断了,并且它是某种正在运行的 Python 脚本。

另一种方法是sudo lsof -p 41查看该进程打开了哪些文件。这可能足以让您确定目的。

要考虑的最后一种技术是sudo dtruss -p 41跟踪程序的活动(看看它在做什么)。

答案2

由于 PID 仅为 41,因此这可能是由 launchd 在启动过程中启动的守护进程。如果是这样,您可以找到启动它的 launchd 项的名称sudo launchctl list | grep 41——该项的名称可能会告诉您它是什么,如果没有,请尝试在 /System/Library/LaunchDaemons 或 /Library/LaunchDaemons 中查找相应的 .plist 文件,看看您可以从中获得什么信息(注意:Python 脚本的路径应位于 Program 或 ProgramArguments 键下)。

相关内容