Arresto di Dovecot usando launchctl

1

Ho Dovecot in esecuzione come demone tramite un launch plist. Funziona bene ma non si ferma se eseguo launchctl stop né se scarico il plist così finisco per usare doveadm stop . C'è una chiave o comando che aggiungo al plist per dirgli come fermare un servizio? Ho controllato le pagine man per launchd.plist e launchctl ma non riesco a trovare nulla di simile.

Questa è la parte rilevante del 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>local.dovecot</string>
<!-- 
    <key>KeepAlive</key>
    <false/>
 -->
    <key>RunAtLoad</key>
    <true/>
    <key>ProgramArguments</key>
    <array>
      <string>/opt/pkg/sbin/dovecot</string>
<!--       <string>-F</string> -->
    </array>
    <key>StandardErrorPath</key>
    <string>/Library/Logs/Dovecot/stdout.log</string>
    <key>StandardOutPath</key>
    <string>/Library/Logs/Dovecot/stderr.log</string>
  </dict>
</plist>

Non c'è KeepAlive o qualcosa del genere, è un plist molto semplice.

Qualsiasi aiuto con questo sarà molto apprezzato.

    
posta Iain 24.10.2017 - 02:13
fonte

1 risposta

1

Il problema scompare se annullo il parametro -F (che ho commentato mentre cercavo di far funzionare un'altra parte della configurazione). L'interruttore -F esegue Dovecot in primo piano e non daemonize.

Da questa risposta su SuperUser :

Launchd expects the programs it launches not to daemonize themselves; if they do, launchd detects it as the program exiting, and cleans up all subprocesses (i.e. kills the now-daemonized program).

In questo caso non ha ucciso il programma (come non mi sarei aspettato se l'interruttore fosse quello sbagliato), ha semplicemente ceduto il controllo in modo che non lo avrebbe / non potuto spegnerlo.

Nota per te stesso, prova la cosa ovvia, le tue ipotesi potrebbero essere sbagliate.

    
risposta data 24.10.2017 - 08:04
fonte

Leggi altre domande sui tag