Question

J'ai un script qui crée constamment des erreurs de segmentation - le problème que je ne peux pas résoudre en tant que erreur de segmentation est lié aux liaisons python libxml - ne les a pas écrites. Ok, donc sous Linux, j’exécutais un inf.loop pour que, lorsque le script meurt, il redémarre, comme suit:

#!/bin/bash
while [ 1 ]
do
nice -n 19 python server.py
sleep 1
done

Eh bien, je n'arrive pas à trouver / bin / bash dans FreeBSD, donc cela ne fonctionne pas.

Des idées? Considérez que cron n'est pas une option - les temps d'arrêt autorisés sont de quelques secondes.

Était-ce utile?

La solution

/ bin / sh existe presque certainement, mais si vous avez vraiment besoin de bash:

cd /usr/ports/*/bash
make install

qui devrait installer bash dans / usr / local / bin / bash, je crois

Autres conseils

Il y aura un programme shell sur le système, et ce script semble fonctionner dans pratiquement tous les shell.

Tapez , tapez bash pour voir où se trouve bash. Sinon, essayez sh. Il devrait être là et cela devrait fonctionner. Prenez le résultat de type bash ou type sh et utilisez-le à la place de / bin / bash. Sinon, regardez / etc / passwd, recherchez votre compte et notez ce qu'est le shell. Je crois que c'est le dernier champ, et il va dire quelque chose comme / bin / sh ou / usr / bin / bash ou autre chose. Utilisez cela à la place de / bin / bash.

Vous n'êtes pas sûr du shell utilisé par défaut par FreeBSD, mais il en contient probablement quelques-uns. La page de manuel de tout shell que vous utilisez doit vous indiquer la syntaxe de boucle de ce shell. C'est probablement assez similaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top