I have to write a daemon program that constantly runs in the background and performs some simple tasks. The logic is not complicated at all, however it has to run for extended periods of time and be stable.
I think C++ would be a good choice for writing this kind of application, however I’m also considering Python since it’s easier to write and test something quickly in it.
The problem that I have with Python is that I’m not sure how its runtime environment is going to behave over extended periods of time. Can it eat up more and more memory because of some GC quirks? Can it crash unexpectedly? I’ve never written daemons in Python before, so if anyone here did, please share your experience. Thanks!
I’ve written a number of daemons in Python for my last company. The short answer is, it works just fine. As long as the code itself doesn’t have some huge memory bomb, I’ve never seen any gradual degradation or memory hogging. Be mindful of anything in the global or class scopes, because they’ll live on, so use
delmore liberally than you might normally. Otherwise, like I said, no issues I can personally report.And in case you’re wondering, they ran for months and months (let’s say 6 months usually) between routine reboots with zero problems.