早期Linux下开发程序的时候(ubuntu14),因为程序不是特别稳定,担心程序crash,因此另外做了个守护程序,开机启动的时候,由守护程序来启动真正的应用程序,并且定时检查这个应用程序的状态,如果崩溃了,就将它重新拉起来。因此,把守护程序作为服务,开机自启。这么做就是有一个问题,如果这个守护程序本身挂掉了,那么在它挂掉之后如果应用程序再挂掉,就没有办法被重新拉起来了。
后来因为系统升级换代,使用了debian10的系统,发现有了systemd,就不再需要这个守护程序了。只需要将应用程序做成服务,设置后重启的时间即可。这样服务在挂掉后,系统到了指定的重启时间间隔,便会自动将服务重新来起来。
redis-server就是这样的,在ubuntu14中,redis-server挂掉了,那就是没有了。但是在debian10中,挂掉了,自动就重启了。道理是一样的。