不久前,我发现自己在将 Python 脚本从 Linux 迁移到 OS X 时发现的一些更改感到非常困惑......
在 Linux 上,如果 Python 脚本调用了 os.system(),并且调用进程被杀死,则被调用进程将同时被杀死。
然而,在 OS X 上,如果主进程被杀死,它启动的任何东西都会被留下。
在 OS X/Python 中有什么地方可以改变这种行为吗?
这会导致我们的渲染农场出现问题,其中进程可以从管理 GUI 中终止,但顶级进程实际上只是一个包装器,因此,渲染农场管理可能认为该进程已经消失并且机器被释放准备另一个任务时,实际的处理器密集型任务仍在运行,这可能会导致巨大的阻塞。
我知道我可以编写更多的逻辑来捕获终止信号并将其传递给子进程,但我希望它可以在较低级别启用。
是否有程序记录此内容,或者至少让我实时查看哪个进程正在哪个内核上运行?我认为任务管理器不会完全执行这些操作中的任何一个。
我创建了一个 launchd .plist 文件,以便每小时运行一个 python 脚本。我最终编辑并随后删除了 .plist 文件(在 /Library/LaunchDaemons 中)......但不知何故,launchd 仍在尝试运行脚本......原始 .plist 正在调用的文件也不再存在(它是在 /usr/bin 中)。现在每 10 秒,launchd 仍在尝试运行脚本,失败并重新生成...
我尝试用 Lingon 解决这个问题......无济于事......有没有办法彻底终止这个过程?我也尝试注销并重新启动...
机器正在运行 10.5.8
在我的 Ubuntu 8.10 上,gvfsd占用 128.6MB 内存。这个过程实际上在做什么?我可以减少它需要的内存吗?
之后从启动删除以下可执行文件,在不久的将来他们又再次出现:
据孔我,这些过程不断出现回涨,而我的软件功能良好,没有他们。
我足够聪明,通过FileHippo更新软件每周所以我并不需要自动更新。
我该怎么做才能再也看不到这些进程?即使在重新安装这些应用程序之后...
也欢迎提供通用解决方案!:-)
可能的重复:
Windows 任务管理器的好替代品
你好,
我厌倦了使用 Windows 任务管理器。每当我查看它时,我都会在那里看到数十个 Chrome.exe 进程。我希望找到适合现代场景的更好的流程管理器。我希望它可以将具有相同名称的进程分组,从而能够杀死整个组甚至更多。
有这样的流程管理器吗?
有没有办法限制孩子的数量而不是mysqld产卵?或者不应该担心这一点?我的 VPS 只有 512MB 的内存。
这是htop, 在我设置max_connections为 6 并重新启动mysql服务后的输出:
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
27082 mysql 20 0 136M 28868 5800 S 0.0 5.7 0:00.41 `- /usr/sbin/mysqld
27121 mysql 20 0 136M 28868 5800 S 0.0 5.7 0:00.05 | `- /usr/sbin/mysqld
27099 mysql 20 0 136M 28868 5800 S 0.0 5.7 0:00.23 | `- /usr/sbin/mysqld
27097 mysql 20 0 136M 28868 5800 S 0.0 5.7 …Run Code Online (Sandbox Code Playgroud) 如果我ps -ef在 OSX 终端中运行,进程列表包括 UID - 进程所有者的数字用户 ID。如何查看流程所有者的姓名?