¿Cómo utilizar syslog para evitar que el archivo de registro se confunda cuando varios procesos intentan escribir en el mismo archivo de registro?

¿Cómo utilizar syslog para evitar que el archivo de registro se confunda cuando varios procesos intentan escribir en el mismo archivo de registro?

Quería saber el uso de syslog cuando varios procesos intentan escribir en el mismo archivo de registro como

for i in $var
do
some process >> logfile &
done
wait

Respuesta1

Tu puedes hacer

some process | logger &

para generar procesos y dirigir su salida a syslog. Tenga en cuenta que la función predeterminada será "usuario" y el nivel predeterminado "aviso". Puedes cambiarlos usando la -popción.

La razón por la que esto funciona sin problemas es que los procesos no escriben directamente en el archivo de destino. Envían sus mensajes al demonio syslog, que gestiona la escritura en los archivos apropiados. Hasta donde tengo entendido, la atomicidad estaría basada en líneas, es decir, cada línea de salida de un proceso iría a syslog sin interferencia, pero los mensajes de varias líneas podrían mezclar líneas de otros procesos.

información relacionada