Bucle infinito en FreeBSD
-
08-07-2019 - |
Pregunta
Tengo una secuencia de comandos que falla constantemente (el problema que no puedo resolver como segfault está en los enlaces de python libxml) no los escribió. Ok, en Linux solía ejecutar un inf.loop para que cuando el script muera, se reinicie, así:
#!/bin/bash
while [ 1 ]
do
nice -n 19 python server.py
sleep 1
done
Bueno, parece que no puedo encontrar / bin / bash en FreeBSD, así que eso no funciona.
¿Alguna idea? Tenga en cuenta que cron no es una opción: el tiempo de inactividad permitido es de unos segundos.
Solución
/ bin / sh casi ciertamente existe, pero si realmente necesita bash:
cd /usr/ports/*/bash
make install
que debería instalar bash en / usr / local / bin / bash, creo
Otros consejos
Habrá algún programa de shell en el sistema, y ??parece que ese script se ejecutará en casi cualquier shell.
Escriba type bash
para ver dónde está bash. Si no, prueba sh. Debería estar allí, y debería funcionar. Tome el resultado de type bash
o type sh
y utilícelo en lugar de / bin / bash. Alternativamente, mire / etc / passwd, busque su cuenta y observe cuál es el shell. Creo que es el último campo, y dirá algo como / bin / sh o / usr / bin / bash o lo que sea. Úselo en lugar de / bin / bash.
No estoy seguro de qué shell utiliza FreeBSD por defecto, pero probablemente viene con algunos. La página de manual para cualquier shell que esté utilizando debería decirle la sintaxis de bucle de ese shell. Probablemente sea bastante similar.