Перезапустите kivy-программу соответственно python с помощью inotify
Я боюсь, что мой вопрос дубликат, но я не могу найти ответ. Возможно ты можешь помочь мне?
Я хотел бы перезапустить мою kivy-программу, если я сохраню файл kv или py.
Я пробовал с
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 ответ
Я использую entr для достижения того же. После установки (например, через brew
), просто запустите следующую команду в вашем рабочем каталоге /home/name/kivy/
:
find . -name "*.py" -or -name "*.kv" | entr sh -c "pkill -f python main.py ; python main.py &"