【发布时间】:2014-07-14 19:12:25
【问题描述】:
我需要能够确定 Unix 中的某个应用程序/二进制文件是否正在前台运行。
我不想查看 CPU 利用率或内存利用率,因为从技术上讲,应用程序可能在后台并执行长时间运行的任务。
我不一定对代码示例感兴趣。这是可以使用 Python 或其他脚本库实现的吗?
【问题讨论】:
-
如果你使用
subprocess.Popen来生成进程,那么你可以使用Popen.poll来检查它是否正在运行。 -
程序使用X还是控制台?
-
“在前台运行”是什么意思?你的意思是应用程序是否有焦点或类似的东西?
-
Bakuriu - 是的,我想确定应用程序是否有焦点。
-
“焦点”是窗口管理器的功能,而不是程序。确定哪个进程具有“焦点”将取决于您使用的窗口系统(XWindows?)和特定的桌面/窗口管理器(KDE、Gnome、XFCE 等?)即使“焦点”的概念也是模糊的,如X 焦点可以随鼠标指针移动。