Como dice el título, he creado un agente de lanzamiento a pedido que escucha el socket y se inicia en la conexión entrante. Funciona bien y después de que haya terminado su trabajo, quiero dejarlo. Después de salir del sistema, el sistema se reinicia automáticamente, el sistema operativo probablemente piensa que murió accidentalmente. ¿Cómo puedo detener este comportamiento? Mi agente de lanzamiento es una aplicación Cocoa (sin GUI), he intentado salir con 'exit (EXIT_SUCCESS)' y '[[NSApplication sharedApplication] terminate: self]'
Mi lista de lanzamiento está debajo:
<?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.mycompany.mylaunchagent</string>
<key>ProgramArguments</key>
<array>
<string>/Library/Application Support/com.mycompany.myproduct/myproduct.app/Contents/MacOS/myproduct</string>
</array>
<key>ServiceIPC</key>
<true/>
<key>KeepAlive</key>
<false/>
<key>Sockets</key>
<dict>
<key>MyListenerSocket</key>
<dict>
<key>SockServiceName</key>
<string>12040</string>
</dict>
</dict>