Process FreeBSD中的无限循环

Process FreeBSD中的无限循环,process,monitoring,segmentation-fault,freebsd,watchdog,Process,Monitoring,Segmentation Fault,Freebsd,Watchdog,我有一个脚本不断地出现segfaults——这个问题我无法解决,因为segfaults是在pythonlibxml绑定中——而不是编写这些脚本。好的,在Linux中,我曾经运行一个inf.loop,这样当脚本死亡时,它就会重新启动,如下所示: #!/bin/bash while [ 1 ] do nice -n 19 python server.py sleep 1 done 嗯,我在FreeBSD中似乎找不到/bin/bash,所以这不起作用 有什么想法吗?考虑到CRON不是一个选项,允许的

我有一个脚本不断地出现segfaults——这个问题我无法解决,因为segfaults是在pythonlibxml绑定中——而不是编写这些脚本。好的,在Linux中,我曾经运行一个inf.loop,这样当脚本死亡时,它就会重新启动,如下所示:

#!/bin/bash
while [ 1 ]
do
nice -n 19 python server.py
sleep 1
done
嗯,我在FreeBSD中似乎找不到/bin/bash,所以这不起作用


有什么想法吗?考虑到CRON不是一个选项,允许的停机时间是几秒钟。

不确定Shell FreeBSD默认使用什么,但它可能附带几个。您正在使用的任何shell的手册页都应该告诉您shell的循环语法。它可能非常相似。

不确定shell FreeBSD默认使用什么,但它可能附带了一些。您正在使用的任何shell的手册页都应该告诉您shell的循环语法。这可能非常相似。

系统上会有一些shell程序,该脚本看起来几乎可以在任何shell中运行


键入bash以查看bash的位置。如果没有,试试sh。它应该在那里,而且应该有效。获取bash类型或sh类型的结果,并使用in代替/bin/bash。或者,查看/etc/passwd,查找您的帐户,并注意shell是什么。我相信这是最后一个字段,它会显示像/bin/sh或/usr/bin/bash之类的内容。使用该脚本而不是/bin/bash。

系统上将有一些shell程序,该脚本看起来几乎可以在任何shell中运行


键入bash以查看bash的位置。如果没有,试试sh。它应该在那里,而且应该有效。获取bash类型或sh类型的结果,并使用in代替/bin/bash。或者,查看/etc/passwd,查找您的帐户,并注意shell是什么。我相信这是最后一个字段,它会显示像/bin/sh或/usr/bin/bash之类的内容。用它代替/bin/bash。

/bin/sh几乎肯定存在,但如果您确实需要bash:

cd /usr/ports/*/bash
make install

应该在/usr/local/bin/bash中安装bash,我相信几乎肯定存在/p>/bin/sh,但如果您确实需要bash:

cd /usr/ports/*/bash
make install

这应该在/usr/local/bin/bash中安装bash,我相信

虽然我真的想弄明白为什么在sh下这不起作用,但是您的bash方法确实起作用了-现在就安装。脚本的第一行说使用/bin/bash来解释文件的内容。除非您将其更改为sh而不是bash,否则它将尝试并失败,因为它不存在以使用bash。同样,您需要将它指向端口最终放置bash可执行文件的任何地方。是的,我知道,我的意思是,changins shebang to sh完全挂起了我的系统。我想它进入了一个真正的无限循环,即使没有睡眠。看看FreeBSD在哪里安装bash。在4.x中,我记得在/usr/local/bin/上安装了二进制文件,尽管我真的想弄明白为什么在sh下这样做不起作用,但是您的bash方法确实起作用了——现在就安装。脚本的第一行说使用/bin/bash来解释文件的内容。除非您将其更改为sh而不是bash,否则它将尝试并失败,因为它不存在以使用bash。同样,您需要将它指向端口最终放置bash可执行文件的任何地方。是的,我知道,我的意思是,changins shebang to sh完全挂起了我的系统。我想它进入了一个真正的无限循环,即使没有睡眠。看看FreeBSD在哪里安装bash。在4.x中,我记得在/usr/local/bin上安装了二进制文件/