有一個簡單的解決方案(通過大多數發行版提供的util,或者一些簡單的python/...腳本使用常見的shell utils)在某些文件更改時重新啓動進程?Linux中文件更改的重新啓動進程
簡單地說,就像watch -cmd "./the_process -arg" deps/*
那樣很好。
更新: 一個簡單的shell腳本所提出的inotify工具一起適合我的需要(適用於命令W/O參數)(太好了!):
#!/bin/sh
while true; do
[email protected] &
PID=$!
inotifywait $1
kill $PID
done
有人可以解釋什麼是「$!」請(不能用Google找到它),謝謝。 – Lior
它返回先前啓動的進程的ID – Christian
如果文件系統沒有'noatime'屬性,則由於'access'事件,目標腳本/進程將在無限循環中重新啓動。要解決這個問題,請使用'inotifywait -e修改$ 1',而這隻會對文件修改事件做出反應。 – chronos