I am designing a networked embedded application, that can span multiple machines. The applications is divided between these machines.
Now, when it comes to exerting explicit control on this system, there are two options:
(1). A nicely managed strategy in which the application nicely releases resources, and goes out. No memory leaks, and it all looks good.
(2). I am facing criticism from people on the managed approach: Why is it not just as good to kill the process, in each machine separately? My only defence is that it is not nice, and may leave the system in an unstable state. This argument does not cut with them.
Can anyone please help? I know that kill is not the best way, but why? Also, are there some references? I will need to include them in my work.
Sorry, this problem may be discusses ad nauseam, but I cant get any “references” to support my point.
Thanks for any help.
Here’s a few things I did find regarding cleanup of resources with killing the process
One example
Another Example
Socket Example