Esiste una porta di start-stop-daemon per OS X?

4

Sto provando a usare alcuni script init.d sotto OS X e I mentre alcuni funzionano correttamente, ho scoperto alcuni che fanno affidamento su /sbin/start-stop-daemon e sto cercando una porta per OS X.

Qualche idea?

Nota, so che OS X non ha il supporto per init.d ma non c'è nulla che ti impedisca di usarlo per avviare / fermare alcuni servizi. È molto più facile installare cose come postgres, nginx usando brew e controllarle usando il solito service name start|stop|restart .

    
posta sorin 24.08.2013 - 12:20
fonte

1 risposta

2

Devi guardare launchd che utilizza i file di installazione * .plist in:

/Library/LaunchAgents/ , /Library/LaunchDaemons/ e ~/Library/LaunchAgents/

Sotto /System/Library/LaunchAgents/ e /System/Library/LaunchDaemons/ sono quelli forniti da Mac OS X.

Quando ad es. installa il modulo postgresql Macports, verrà anche installato un file org.macports.postgresql93-server.plist in /Library/LaunchDaemons/ (è un collegamento a un file .plist che è installato sotto /opt/local/etc/LaunchDaemons/org.macports.postgresql93-server ) , ma il daemon non è t abilitato all'installazione.

Il contenuto di questo file .plist è (la chiave <key>Disabled</key><true/> deve essere impostata su false, se è necessario abilitare il demone) :

<?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>
    
risposta data 24.08.2013 - 13:01
fonte

Leggi altre domande sui tag