Cómo ejecutar una aplicación no elaborada en el inicio en macOS Sierra

Tuve que instalar una versión anterior de Elasticsearch (2.3.3) de la fuente. El binary está ubicado en /opt/local/elasticsearch-2.3.3/bin/ el siguiente file

/Library/LaunchDaemons/org.elasticsearch.plist

 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>org.elasticsearch</string> <key>ProgramArguments</key> <array> <string>/opt/local/elasticsearch-2.3.3/bin/elasticsearch</string> </array> <key>UserName</key> <string>root</string> <!-- <key>GroupName</key> <string>staff</string> --> <key>WorkingDirectory</key> <string>/opt/local/elasticsearch-2.3.3/bin</string> <key>KeepAlive</key> <true/> <key>RunAtLoad</key> <true/> </dict> </plist> 

Luego publico el siguiente command:

 sudo launchctl load -w /Library/LaunchDaemons/org.elasticsearch.plist 

Cuando sudo launchctl list | grep elastic con sudo launchctl list | grep elastic sudo launchctl list | grep elastic devuelve org.elasticsearch . Pero cuando compruebo si elasticsearch se está ejecutando con ps ax | grep elastic ps ax | grep elastic no está funcionando.

¿Hay algún problema con mi file .plist ?

One Solution collect form web for “Cómo ejecutar una aplicación no elaborada en el inicio en macOS Sierra”

Elasticsearch no se debe ejecutar como root. Así que elimine el plist de la database de launchd, mueva el plist a / Library / LaunchAgents (o ~ / Library / LaunchAgents), cree / opt / local / var y modifíquelo ligeramente:

 <?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>EnvironmentVariables</key> <dict> <key>VAR</key> <string>VAL</string> </dict> <key>KeepAlive</key> <false/> <key>Label</key> <string>org.elasticsearch</string> <key>ProgramArguments</key> <array> <string>/opt/local/elasticsearch-2.3.3/bin/elasticsearch</string> </array> <key>RunAtLoad</key> <true/> <key>StandardErrorPath</key> <string>/tmp/org.elasticsearch.stderr</string> <key>StandardOutPath</key> <string>/tmp/org.elasticsearch.stdout</string> <key>WorkingDirectory</key> <string>/opt/local/var</string> </dict> </plist> 

Luego, comtesting /opt/local/elasticsearch-2.3.3 y sus subdirectorys para get los permissions adecuados, agrega EnvironmentVariables si es necesario (o quita la key y dict) y carga el plist.

Si todo funciona correctamente, puede eliminar StandardErrorPath y StandardOutPath y sus cadenas.


También puede ejecutarlo como daemon pero con un usuario diferente (es decir, su nombre de usuario) – depende de sus necesidades / entorno.

  • ¿Cómo ver la dirección IP pública del tráfico de Internet saliente cuando se conecta a través del enrutador?
  • DiskUtility lanzando "com.apple.disutility error 3" en "Operación fallida con estado 5" en Sierra al hacer una copy de security de la image del SSD principal
  • Mala configuration: no puede ssh
  • macOS Sierra rompió la authentication Kerberos SSH
  • Habilite sudo sin una contraseña en MacOS
  • Mueva la aplicación de fotos y los datos a la unidad externa para dejar espacio en la unidad principal
  • MacOS Sierra cómo networkingucir la prioridad de la synchronization de la unidad iCloud?
  • Ejecutando un service en QuickBooks
  • No se puede eliminar el disco duro principal de Mac
  • ¿Cómo puedo cambiar el nombre de las tabs fijas de Safari?
  • Safari restauró una session de navigation privada después de que mi Mac se bloqueó
  • Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).