%20Ejecute%20un%20comando%2C%20si%20el%20comando%20no%20se%20completa%20en%2010%20segundos%2C%20ejecute%20otro.png)
En (Debian) Linux quiero:
- Ejecutar un comando.
- Si el comando no se completa en 10 segundos, elimínelo e intente con otro comando.
El caso de uso es:
Tengo un servicio demonio que me gustaría cerrar correctamente. Se puede detener enviando un comando TCP. Si el comando TCP no regresa, finalice el proceso usando Posix HUP.
start-stop-daemon no parece hacer esto, ¿alguien tiene alguna pista?
Respuesta1
Tampoco le di una medalla a la gente de Debian implementada start-stop-daemon
.
Creo que quieres solucionar algún demonio. Hay una herramienta nombrada timeout
en el paquete GNU CoreUtils, que podría ayudar a hacer esto:
timeout --kill-after=15 --signal=9 this_is_my_command || this_will_run_on_fail
Se ejecutará this_is_my_command
y, si se agota el tiempo de espera, lo eliminará con la señal 9 (eliminación completa) y ejecutará el comando this_will_run_on_fail
.
Obtengo esta información parcialmente deestepregunta.