【发布时间】:2017-04-09 21:41:53
【问题描述】:
我编写了一个运行 python 程序的 shell 脚本。然后我想使用 xdotool 将文件加载到程序中。现在这是我的代码:
#!/bin/bash
cd ~/Folder
python program.py &
sleep 10
WID=$(xdotool search --onlyvisible program)
....
我真的不喜欢只等待 10 秒以加载程序的解决方案。有没有更好的办法?
【问题讨论】:
-
您的 Python 程序是否已启动脚本的第二部分?
-
python 程序不是我写的。它是一个开源软件
-
xdotool search有一个--sync选项,它将等待窗口变得可见。如果您使用该选项(即xdotool search --sync --onlyvisible program)运行它,那么您的脚本根本不需要sleep。 -
@ottomeister 谢谢!!这就是我的问题的解决方案。即使没有睡眠,它还能 100% 工作吗?我的意思是有时窗口是可见的,但还没有准备好?
-
这取决于程序的编写方式。通常,当一个窗口变得可见时,程序已经安排好接受和处理发送到窗口中的事件,所以你应该是安全的,没有睡眠。如果您想格外小心,您可以在
xdotool search返回后睡一两秒钟。这仍然比原来的 10 秒睡眠要好。
标签: python linux shell xdotool