Voglio avviare e interrompere un servizio di rete in base al fatto che l'host stia ricevendo pacchetti udp su una particolare porta

0

Ho vagamente familiarità con i file launchd e plist. Ho usato questi (nel lontano passato) in modo simile agli script di cron per eseguire periodicamente delle cose. Ma capisco che possono anche fare cose "su richiesta".

Ho qualcosa di simile (insieme ad altri file plist trovati su Internet):

<?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.domain.minecraft.bedrock</string>
                <key>ProgramArguments</key>
                <array>
                        <string>/usr/local/bin/docker</string>
                        <string>start</string>
                        <string>mc.bedrock</string>
                </array>
                <key>Sockets</key>
                <dict>
                        <key>minecraft_bedrock</key>
                        <dict>
                                <key>SockType</key>
                                <string>dgram</string>
                                <key>SockServiceName</key>
                                <string>19132</string>
                        </dict>
                </dict>
        </dict>
</plist>

Ad un certo punto però, il server non sarà più in uso e forse 5-10 minuti dopo aver ricevuto l'ultimo pacchetto, mi piacerebbe che si chiudesse.

È possibile farlo all'interno di launchd?

    
posta John O 05.07.2018 - 22:27
fonte

0 risposte

Leggi altre domande sui tag