Hacker News new | past | comments | ask | show | jobs | submit login
Golang Automatic Reloads (alexedwards.net)
30 points by alexedwards on Sept 21, 2013 | hide | past | favorite | 10 comments



That's more of an automatic restart (kill and start the process again) than an automatic reload (update code within the running system). And surely there are non-go-specific tools which can already do that, aren't there?


Yup, such tools exist. I've used peat before for stuff like this:

https://github.com/sjl/peat


CEL is a similar and more generic script: it can do that for any program and works on Linux and Mac.

https://github.com/Dinduks/change-execute-loop


SIGKILL seems a little aggressive for a controlled process restart.


Not to mention the program sigkills itself before it attempts to `exit 0`...


Genuine question - can a process kill itself?

The kill of go-reload was to make sure background processes get cleaned up, but I suspect one of the kill or exit in the close function is superfluous.


> Genuine question - can a process kill itself?

Sure. Send the signal, the signal handler - custom or default - handles it. This works whether the signal comes from another process or its own process.


Or rerun by skelterjohn http://github.com/skelterjohn/rerun


On Windows you can use something like this

http://www.nodesoft.com/foldermonitor

(freeware)


Go also provides a syscall for ReadDirectoryChanges, and one really nice Go library that uses inotify/ReadDirectoryChanges is https://github.com/howeyc/fsnotify




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: