GNU/Linux >> Tutoriales Linux >  >> Linux

Mejor reemplazo para exit(), atexit() en C

cuál es la mejor manera posible de finalizar el proceso

  1. Si utiliza un solo subproceso, use exit() , ya que su código no tiene varios subprocesos.
  2. 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.


Linux
  1. Linux vs Windows:qué sistema operativo es mejor para juegos de PC

  2. ¿Código de salida predeterminado cuando finaliza el proceso?

  3. Obtenga el código fuente para cualquier comando de Linux

  4. Código para malloc y gratis

  5. Código de retorno de sed para ninguna coincidencia

3 herramientas de línea de comandos para fingir productividad

Más de 10 mejores IDE de Python para Linux

Códigos de salida de la línea de comandos de Bash desmitificados

Exa:un reemplazo moderno para ls Command

Zorin OS 15 Lite:el mejor reemplazo para Windows 7

Exa:un reemplazo moderno para el comando ls