2 votes

Pourquoi est-ce que j'obtiens une erreur "Service cannot initialize" dans ma console lorsqu'un fichier plist est exécuté ?

J'ai mis en place un plist et le charger/démarrer avec launchd . Chaque fois qu'il est temps pour le script de s'exécuter, je reçois l'erreur suivante dans ma console :

12/9/15 12:53:19.344 PM com.apple.xpc.launchd[1]: (kjuvbot[742]) Service could not initialize: 14F27: xpcproxy + 13421 [1402][AD0301K4-D354-31AE-8BA7-B5KBECE64P0B]: 0x2

Quelqu'un a-t-il une idée de la raison pour laquelle cette erreur peut se produire ? Voici mon .plist fichier :

kjuvbot.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>kjuvbot</string>
    <key>ProgramArguments</key>
    <array>
        <string>python3</string>
        <string>/Users/me/workspace/Learning/src/kjuvbot.py</string>
    </array>
    <key>StartInterval</key>
    <integer>3600</integer>
</dict>
</plist>

A-t-il besoin par hasard com. devant le nom du fichier ?

Voici les permissions (j'ai créé le fichier en tant que moi-même) :

-rw-r--r--@ 1 me  staff  427 Dec  9 19:28 kjuvbot.plist

0 votes

Où se trouve python3 ?

0 votes

@Mark Ah ha ! c'est ça. launchd est à l'affût /usr/bin pour python3 n'est-ce pas ? J'ai changé le python3 au chemin complet, et cela a fonctionné correctement. N'hésitez pas à poster votre réponse ci-dessous, et je l'accepterai. Merci !

1voto

yoliho Points 340

Python3 n'est pas dans le chemin utilisé par launchd qui sera inférieur à celui du terminal.

Essayez d'utiliser le chemin complet dans le plist

par exemple

<key>ProgramArguments</key>
<array>
    <string>/usr/local/bin/python3</string>
    <string>/Users/me/workspace/Learning/src/kjuvbot.py</string>
</array>

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