Je suis en train de mettre en place un LaunchAgent local pour cassandra et je suis en cours d'exécution dans un problème puisque bin/cassandra
est un script shell qui lance:OSX LaunchAgent pour l'application qui lance une autre application
/usr/bin/java -ea -javaagent:blah blah blah blah blah blah blah
Mon LaunchAgent lance le script mais ne lance jamais cassandra ou ne lui permet pas d'engendrer des sous-processus, ou, bien je ne suis pas tout à fait sûr de ce qui se passe mais il semble que j'ai déjà rencontré ce problème. La seule façon que je connaisse pour obtenir ce travail est de changer mon LaunchAgent de:
<?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>com.cassandra.agent</string>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>UserName</key>
<string>root</string>
<key>ProgramArguments</key>
<array>
<string>/path/to/cassandra/bin/cassandra</string>
</array>
<key>WorkingDirectory</key>
<string>/path/to/cassandra/bin</string>
</dict>
</plist>
à ...
...
<key>ProgramArguments</key>
<array>
<string>/usr/bin/java</string>
<string>-ea</string>
<string>-javaagent:blah</string>
<string>blah</string>
<string>blah</string>
<string>blah</string>
<string>blah</string>
<string>blah</string>
<string>blah</string>
</array>
Je me demande si quelqu'un sait comment je peux faire référence à la coquille script du LaunchAgent au lieu de tirer tous les arguments de ps aux
Avez-vous essayé d'ajouter le script shell avec un binaire shell réel qui doit exécuter le script, c'est-à-dire/bin/sh? –
@tommyd - bonne idée, mais pas de chance :(Même chose - une vérification immédiate montre le processus '/ bin/sh/chemin/à/bin/cassandra' mais quelques ms plus tard et le processus est parti –