
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 -p
opció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.