¿Hay algún puerto de start-stop-daemon para OS X?

4

Estoy tratando de usar algún script init.d bajo OS X y yo, mientras que algunos solo funcionan correctamente, descubrí que confiar en /sbin/start-stop-daemon y estoy buscando un puerto para OS X.

¿Alguna idea?

Tenga en cuenta que sé que OS X no tiene soporte para init.d pero no hay nada que le impida utilizarlo para iniciar / detener algunos servicios. Es mucho más fácil instalar cosas como postgres, nginx usando brew y controlarlas usando el habitual service name start|stop|restart .

    
pregunta sorin 24.08.2013 - 12:20

1 respuesta

2

Debes mirar launchd que usa los archivos de configuración de * .plist en:

/Library/LaunchAgents/ , /Library/LaunchDaemons/ y ~/Library/LaunchAgents/

Bajo /System/Library/LaunchAgents/ y /System/Library/LaunchDaemons/ son los proporcionados por Mac OS X.

Cuando, por ejemplo, instale Macports de postgresql, también se instalará un archivo org.macports.postgresql93-server.plist bajo /Library/LaunchDaemons/ (es un enlace a un archivo .plist que se instala bajo /opt/local/etc/LaunchDaemons/org.macports.postgresql93-server ) , pero el demonio no está ' t habilitado en la instalación.

El contenido de este archivo .plist es (la clave <key>Disabled</key><true/> debe configurarse en falso, si necesita habilitar el daemon) :

<?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.macports.postgresql93-server</string>
<key>ProgramArguments</key>
<array>
    <string>/opt/local/bin/daemondo</string>
    <string>--label=postgresql93-server</string>
    <string>--start-cmd</string>
    <string>/opt/local/etc/LaunchDaemons/org.macports.postgresql93-server/postgresql93-server.wrapper</string>
    <string>start</string>
    <string>;</string>
    <string>--stop-cmd</string>
    <string>/opt/local/etc/LaunchDaemons/org.macports.postgresql93-server/postgresql93-server.wrapper</string>
    <string>stop</string>
    <string>;</string>
    <string>--restart-cmd</string>
    <string>/opt/local/etc/LaunchDaemons/org.macports.postgresql93-server/postgresql93-server.wrapper</string>
    <string>restart</string>
    <string>;</string>
    <string>--pid=none</string>
</array>
<key>Debug</key><false/>
<key>Disabled</key><true/>
<key>KeepAlive</key><true/>
</dict>
</plist>
    
respondido por el Rene Larsen 24.08.2013 - 13:01

Lea otras preguntas en las etiquetas