如何检查 GUI 应用程序是不是在 Ubuntu 上运行?
Posted
技术标签:
【中文标题】如何检查 GUI 应用程序是不是在 Ubuntu 上运行?【英文标题】:How to check if GUI application is running on Ubuntu?如何检查 GUI 应用程序是否在 Ubuntu 上运行? 【发布时间】:2018-06-10 13:23:57 【问题描述】:我有一个使用 c++ 和 QT 编写的 GUI 应用程序,并且我使用 selenium + qtwebdriver 进行了 UI 测试。我的 bash 脚本启动应用程序,然后启动 python 测试。问题是,如果我这样写:
./myapp
python mypythonscript.py
Python 脚本会失败,因为“myapp”需要 2 秒才能打开界面。 如果 GUI 应用程序完全运行,我该怎么做才能知道?是否有任何 X 服务器命令可以返回已启动窗口的名称?
【问题讨论】:
可以在第一行后添加暂停/睡眠5秒sleep 5
,也可以使用ps
和grep
查看正在运行的进程
是的,我知道这种添加睡眠的方法,但是如果应用程序启动 12 秒会发生什么?我正在寻找通用解决方案。
看看这个https://askubuntu.com/a/157787/791238
@Stack 嘿,谢谢你的回答。 pgrep 将显示该进程正在运行,即使 GUI 尚未出现。我需要检测是否显示了 GUI。
您的应用程序“知道”其 GUI 何时可见:覆盖您的主小部件的 resizeEvent()
。在那里,您可以使用您在启动器中等待的某种类型的进程间通信(例如,创建/更新特定的临时文件)。
【参考方案1】:
您可以将脚本设置为在必要的几秒钟内休眠。然后您可以使用 nvidia-smi 来检查 GPU 在内存中的内容...
watch -n1 nvidia-smi
【讨论】:
以上是关于如何检查 GUI 应用程序是不是在 Ubuntu 上运行?的主要内容,如果未能解决你的问题,请参考以下文章