質問

私は、常にセグメンテーション違反を起こすスクリプトを持っています-セグメンテーション違反として解決できない問題は、Python libxmlバインディングにあります-それらを書きませんでした。それでは、Linuxではinf.loopを実行して、スクリプトが終了したときに再起動するようにしました。

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

まあ、FreeBSDで/ bin / bashを見つけることができないので、動作しません。

アイデアはありますか? cronはオプションではないことを考慮してください。許可されるダウンタイムは数秒です。

役に立ちましたか?

解決

/ bin / shはほぼ確実に存在しますが、bashが本当に必要な場合:

cd /usr/ports/*/bash
make install

/ usr / local / bin / bashにbashをインストールする必要があると思います

他のヒント

システムにはいくつかのシェルプログラムがあり、そのスクリプトはほとんどすべてのシェルで実行されるように見えます。

type bash と入力して、bashの場所を確認します。そうでない場合は、shを試してください。そこにあるはずで、動作するはずです。 type bash または type sh の結果を取得し、/ bin / bashの代わりに使用します。または、/ etc / passwdを見て、アカウントを探して、シェルが何であるかを確認します。私はそれが最後のフィールドだと信じており、/ bin / shや/ usr / bin / bashなどのようなものを言うでしょう。 / bin / bashの代わりにそれを使用します。

FreeBSDがデフォルトでどのシェルを使用するかわかりませんが、おそらくいくつか付属しています。使用しているシェルのマニュアルページには、そのシェルのループ構文が記載されています。おそらくかなり似ています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top