3 votes

Pourquoi mon launchctl.plst ne se déclenche pas au démarrage ?

J'ai créé ce plist pour que Mongo fonctionne au démarrage mais il ne se déclenche pas. Je dois l'exécuter à chaque fois que je démarre :

launchctl load /Library/LaunchDaemons/org.mongo.mongod.plist

Ensuite, cela fonctionne bien.

Voici /Library/LaunchDaemons/org.mongo.mongod.plist

<?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>org.mongo.mongod</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/mongo/bin/mongod</string>
        <string>--config=/usr/local/etc/mongod.conf</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
</dict>
</plist>

Merci

EDIT : Voici le contenu du fichier system.log

$ cat /var/log/system.log | grep launch
May  8 06:43:57 localhost com.apple.launchd[1]: *** launchd[1] has started up. ***
May  8 06:43:57 localhost com.apple.launchd[1]: *** Shutdown logging is enabled. ***
May  8 06:44:06 localhost com.apple.launchd[1] (nginx): Unknown key for boolean: NetworkState
May  8 06:44:15 localhost distnoted[67]: assertion failed: 13C1021: liblaunch.dylib + 25164 [38D1AB2C-A476-385F-8EA8-7AB604CA1F89]: 0x25
May  8 06:44:23 Jonahs-iMac.local aosnotifyd[64]: aosnotifyd has been launched
May  8 06:44:39 jonahs-imac com.apple.launchd[1] (0x7fc812f1c4c0.anonymous.nohup[212]): assertion failed: 13C1021: launchd + 73282 [425516B6-9F3E-342F-87B3-EC461EBA6A1A]: 0x0
May  8 06:44:39 jonahs-imac com.apple.launchd[1] (0x7fc812f1c4c0.anonymous.nohup[212]): Switching sessions is not allowed in the system Mach bootstrap.
May  8 06:44:39 jonahs-imac com.apple.launchd[1] (0x7fc812f1c4c0.anonymous.nohup[212]): _vprocmgr_switch_to_session(): kr = 0x44c
May  8 06:44:39 jonahs-imac com.apple.launchd[1] (0x7fc812e50b90.anonymous.nohup[213]): assertion failed: 13C1021: launchd + 73282 [425516B6-9F3E-342F-87B3-EC461EBA6A1A]: 0x0
May  8 06:44:39 jonahs-imac com.apple.launchd[1] (0x7fc812e50b90.anonymous.nohup[213]): Switching sessions is not allowed in the system Mach bootstrap.
May  8 06:44:39 jonahs-imac com.apple.launchd[1] (0x7fc812e50b90.anonymous.nohup[213]): _vprocmgr_switch_to_session(): kr = 0x44c
May  8 06:44:40 jonahs-imac.home launchctl[245]: com.apple.findmymacmessenger: Already loaded
May  8 06:44:41 jonahs-imac com.apple.launchd[1]: System: Could not find requested session: Aqua
May  8 06:44:41 jonahs-imac com.apple.launchd.peruser.501[261]: Background: Aqua: Registering new GUI session.
May  8 06:44:41 jonahs-imac com.apple.launchd[1] (com.wacom.pentablet[252]): Exited with code: 255
May  8 06:44:41 jonahs-imac com.apple.launchd.peruser.501[261] (com.apple.EscrowSecurityAlert): Unknown key: seatbelt-profiles
May  8 06:44:41 jonahs-imac com.apple.launchd.peruser.501[261] (com.apple.ReportCrash): Falling back to default Mach exception handler. Could not find: com.apple.ReportCrash.Self
May  8 06:44:41 jonahs-imac.home launchctl[264]: com.apple.pluginkit.pkd: Already loaded
May  8 06:44:41 jonahs-imac.home launchctl[264]: com.apple.sbd: Already loaded
May  8 06:44:42 jonahs-imac com.apple.launchd[1] (com.wacom.ConsumerTouchDriver.158960[260]): Exited with code: 255
May  8 06:44:42 jonahs-imac com.apple.launchd.peruser.501[261] (com.google.GoogleContactSyncAgent[312]): Exited with code: 2
May  8 06:44:42 jonahs-imac com.apple.launchd.peruser.501[261] (com.apple.iTunesHelper.35584[317]): Spawned and waiting for the debugger to attach before continuing...
May  8 06:44:42 jonahs-imac com.apple.launchd.peruser.501[261] (com.runningwithcrayons.Alfred-2.28016[318]): Spawned and waiting for the debugger to attach before continuing...
May  8 06:44:42 jonahs-imac com.apple.launchd.peruser.501[261] (com.google.Chrome.12000[320]): Spawned and waiting for the debugger to attach before continuing...
May  8 06:44:42 jonahs-imac accountsd[323]: assertion failed: 13C1021: liblaunch.dylib + 25164 [38D1AB2C-A476-385F-8EA8-7AB604CA1F89]: 0x25
May  8 06:44:43 jonahs-imac com.apple.launchd.peruser.501[261] (com.apple.mrt.uiagent[297]): Exited with code: 255
May  8 06:44:44 jonahs-imac.home com.apple.IconServicesAgent[344]: IconServicesAgent launched.
May  8 06:44:46 jonahs-imac.home TabletDriver[308]: Finish launching /Library/Application Support/Tablet/PenTabletDriver.app/Contents/Resources/ConsumerTouchDriver.app
May  8 06:44:47 jonahs-imac.home TabletDriver[308]: Finish launching /Library/Application Support/Tablet/PenTabletDriver.app/Contents/Resources/TabletDriver.app
May  8 06:44:49 jonahs-imac.home Google Chrome Helper[363]: Process unable to create connection because the sandbox denied the right to lookup com.apple.coreservices.launchservicesd and so this process cannot talk to launchservicesd. : LSXPCClient.cp #426 ___ZN26LSClientToServerConnection21setupServerConnectionEiPK14__CFDictionary_block_invoke() q=com.apple.main-thread

0 votes

Y a-t-il une entrée connexe dans system.log ?

0 votes

Où pourrais-je trouver ça ?

0 votes

C'est probablement une question stupide, mais le chemin de ce fichier de configuration est-il correct ? Il semble un peu étrange que mongod se trouve à /usr/local/mongo/bin mais le fichier de configuration est dans /usr/local/etc ? Je demande seulement parce que je ne vois rien évidemment avec le fichier plist.

1voto

Blaszard Points 2909

Le problème est probablement dû au fait que vous ne séparez pas la clé de l'argument de la valeur au sein de l'argument. ProgramArguments .

Au lieu de l'écrire de cette façon :

<key>ProgramArguments</key>
<array>
    <string>/usr/local/mongo/bin/mongod</string>
    <string>--config=/usr/local/etc/mongod.conf</string>
</array>

Vous devez écrire --config y /usr/local/etc/mongod.conf dans chaque ligne discrète, comme :

<key>ProgramArguments</key>
<array>
    <string>/usr/local/mongo/bin/mongod</string>
    <string>--config</string>
    <string>/usr/local/etc/mongod.conf</string>
</array>

N'oubliez pas que lorsque vous modifiez votre fichier .plist, vous devez d'abord le décharger, puis le charger à nouveau afin d'activer le launchd.

0 votes

Selon GNU getopt(3), il devrait s'en sortir : Une option longue peut prendre un paramètre, de la forme --arg=param o --arg param .

0 votes

Oui, j'ai essayé les deux, mais sans succès.

0voto

Sandro Points 891

J'ai résolu ce problème en exécutant Adobe Application Manager.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X