Quiero iniciar y detener un servicio de red en función de si el host está recibiendo paquetes udp en un puerto en particular

0

Estoy vagamente familiarizado con los archivos launchd y plist. He usado estos (en el pasado lejano) de manera similar a los scripts cron para ejecutar cosas periódicamente. Pero entiendo que también pueden hacer cosas "a pedido".

Tengo algo como esto (creado a partir de otros archivos plist que se encuentran en 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>

Sin embargo, en algún momento, el servidor dejará de usarse, y tal vez entre 5 y 10 minutos después de haber recibido el último paquete, me gustaría que se cerrara.

¿Es esto posible desde dentro de launchd?

    
pregunta John O 05.07.2018 - 22:27

0 respuestas

Lea otras preguntas en las etiquetas