Dove va lo stderr da launchd?


1

launchd elementi in / Library / LaunchDaemon può reindirizzare stdin / stdout / stderr. Per esempio. Ho un oggetto che dice:

<key>StandardOutPath</key>
    <string>/Library/Logs/rnamanagedocker_out.log</string>
<key>StandardErrorPath></key>
    <string>/Library/Logs/rnamanagedocker_err.log</string>

Io ottengo il stdout nel /Library/Logs/rnamanagedocker_out.log, ma no /Library/Logs/rnamanagedocker_err.log è creato mentre sono sicuro che ci sia stderr produzione.

Qualche consiglio?

[AGGIORNAMENTO 17 gennaio] Ora ho notato che ottengo stderr in un file di output previsto. O mi sono sbagliato o c'era un setup che non riesco a riprodurre che ha perso l'output di stderr. Probabilmente il primo (pic-nic, problema nella sedia, non nel computer).

Risposte:


1

Prova a verificare che il sistema sia effettivamente autorizzato a scrivere su quel file. Suggerirei semplicemente di creare il file in anticipo (come un file vuoto). Puoi farlo con il terminale come segue:

touch /Library/Logs/rnamanagedocker_err.log

Quindi provate prima rendendo il file scrivibile da tutti, se questo lo fa funzionare:

chmod a+w /Library/Logs/rnamanagedocker_err.log

Se lo desideri, puoi iniziare a limitare le autorizzazioni sul file per raggiungere il livello richiesto.


In realtà, non ci si aspettava che questo avrebbe aiutato, perché se si può scrivere il file fuori nella stessa directory, perché non il file err? Ma ci ho provato lo stesso, e non è stato d'aiuto.
gctwnl

Non so perché avessi queste aspettative, ma se un file esiste già ed è scrivibile, sarebbe logico perché tu possa scrivere su quel file, ma non sull'altro.
jksoegaard

Ho avuto questa aspettativa perché anche l'altro file è stato creato alla prima scrittura. Non l'ho mai creato a mano Ma d'accordo, l'errore potrebbe comportarsi diversamente.
gctwnl

Non l'hai scritto nella tua domanda, quindi non potevo saperlo quando ho risposto. Come hai controllato che qualcosa venga effettivamente pubblicato su stderr?
jksoegaard

Eseguendo il comando a mano.
gctwnl
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.