On 25/05/2016 16:52, Eric Vidal wrote:
> Hi,
>
> i have a strange error message on catch-all logger when my "rc"
> service start, i have this following line amount :
>
> _at_400000005745b6800cfc8fe4 s6-log: fatal: unable to lock_exnb
> /var/log/syslogds6/error/lock: Resource temporarily unavailable
This just means that a live process is already holding the lock on the
/var/log/syslogds6/error directory. There's probably another instance
of s6-log already running there.
> forx -p dir { error auth daemon messages user misc mail }
... yes, that run script is not going to work, because you're starting
several s6-log processes which are all reading from the same file
descriptor (the run script's standard input).
You're actually attempting to do something that does not work (spawn
several processes running from the same stream) because you want to
filter logs and write them in the appropriate logdirs depending on what
they match.
But you don't need several s6-log processes for that. A single s6-log
process can do it. Read the s6-log documentation again - what you want is
a single s6-log process that manages several logdirs, with various filters
before each logdir. It will make your logging script complex, but it will
be correct. :)
--
Laurent
Received on Wed May 25 2016 - 22:52:51 UTC