用inotify分别重启kivy-program python

时间:2016-09-03 23:18:20

标签: python bash kivy inotify

我担心我的问题是重复的,但我无法找到答案。也许你可以帮助我?

如果我保存kv或py文件,我想重启我的kivy程序。

我试过

inotifywait -mq -e close_write /home/name/kivy/ | while read FILE
do
  pkill python
  python /home/name/kivy/main.py
done

如果我第一次更改文件,main.py会启动,但如果我再次更改它,我需要在重新启动之前手动关闭程序。

我还尝试使用

而不是pkill python
kill $(ps aux | pgrep '[p]ython' | awk '{print $2}')

但结果与mintMenu.py关闭的结果相同。

我应该使用与inotify完全不同的东西吗?

1 个答案:

答案 0 :(得分:0)

我正在使用entr来实现同样的目标。安装后(例如通过brew),只需在工作目录/home/name/kivy/中运行以下命令:

find . -name "*.py" -or -name "*.kv" | entr sh -c "pkill -f python main.py ; python main.py &"