cuál es la mejor manera posible de finalizar el proceso
- Si utiliza un solo subproceso, use
exit()
, ya que su código no tiene varios subprocesos. - De lo contrario, asegúrese de que todos los subprocesos menos uno hayan terminado antes del último subproceso y luego llame de manera segura a
exit()
debido a 1. arriba.
Dado que las fallas de energía/hardware pueden ocurrir en cualquier momento, la dificultad extrema de terminar de manera confiable los subprocesos con el código de usuario y la naturaleza caótica del uso de grupos de memoria, etc. en muchas aplicaciones multiproceso no triviales, es mejor diseñar aplicaciones y sistemas que pueden limpiar archivos temporales, etc. al inicio, en lugar de tratar de microgestionar el apagado.
'Limpie todos los recursos que asigna antes de salir' suena como un buen consejo en un salón de clases o una conferencia, pero rápidamente se convierte en una cadena completa de albatros alrededor de su cuello cuando se enfrenta a una docena de subprocesos, colas y grupos en un sistema dinámico en constante cambio.
Si puede, si está ejecutando un sistema operativo no trivial, deje que haga su trabajo y se limpie por usted. Es mucho mejor que su código de usuario.