Risolve il problema di launchd / launchctl in cui l'applicazione non viene caricata

2

Sto provando a caricare un LaunchAgent in ~/Library/LaunchAgents e sebbene, dalla riga di comando, "venga" caricato. Tuttavia, se provo a caricarlo di nuovo, dice che è "già caricato".

Ma un processo per l'applicazione non è in esecuzione. ps -e | grep mongo non mostra nulla (beh, mostra questo comando grep ).

Qualcuno sa come risolvere questo tipo di problemi?

L'unica cosa che riesco a trovare è in /var/log/system.log :

Feb  9 13:15:26 imac com.apple.launchd.peruser.502[130] (homebrew.mxcl.mongodb): Ignored this key: UserName

Suppongo che stia ignorando lo UserName perché viene avviato dalla mia directory Utente: ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist . E come da documenti ci si può aspettare.

Posso avviare l'applicazione correttamente da Terminal:

/usr/local/bin/mongod

Ecco il plist LaunchAgent:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>homebrew.mxcl.mongodb</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/bin/mongod</string>
    <string>run</string>
    <string>--config</string>
    <string>/usr/local/etc/mongod.conf</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>KeepAlive</key>
  <false/>
  <key>UserName</key>
  <string>meltemi</string>
  <key>WorkingDirectory</key>
  <string>/usr/local</string>
  <key>StandardErrorPath</key>
  <string>/usr/local/var/log/mongodb/output.log</string>
  <key>StandardOutPath</key>
  <string>/usr/local/var/log/mongodb/output.log</string>
</dict>
</plist>
    
posta Meltemi 09.02.2012 - 22:51
fonte

1 risposta

1

L'ho risolto. Lasciamo questa domanda qui ... nel caso in cui qualcun altro abbia un problema simile ... e nella speranza che qualcuno possa offrire alcune buone idee per la risoluzione di launchd / launchctl in futuro.

Il mio problema era che non avevo il mio file mongod.conf nel posto giusto. Come per plist direttiva launchctl (o è launchd ?) Cercava /usr/local/etc/mongod.conf ma non è riuscito a trovarlo, quindi "caricato" mongod ma l'app non è mai stata effettivamente avviata ... e non c'erano errori in tal senso ... che potessi trovare.

    
risposta data 10.02.2012 - 00:19
fonte

Leggi altre domande sui tag