0

我一直在尝试通过 shell 脚本运行文件并将其输出写入该文件。

脚本非常简单:

/usr/local/sicstus4.1.1/bin/sicstus -l run --goal "runh('examples/calls_matlab.pl', S), 停止。" > "/Users/Andrew/Dropbox/IP/建模阶段/rules.txt"

但是,当我运行它时,它失败并出现以下错误: sicstus(24883,0x7fff70916ca0) malloc: * 对象 0x10082b408 的错误:已释放对象的校验和不正确 - 对象在被释放后可能已被修改。*在 malloc_error_break 中设置断点进行调试

另一方面,如果我从目标中删除“停止”,一切都很好,但 Sicstus 仍在运行。

有没有办法退出 sicstus,而不必通过我的 shell 脚本引发上述错误?

我很感激你的时间。

安德烈亚斯

4

1 回答 1

1

如果您运行脚本并使用 重定向输入管道/dev/null怎么办?并删除停止选项。

/usr/local/sicstus4.1.1/bin/sicstus -l run --goal "runh('examples/calls_matlab.pl', S)." > "/Users/Andrew/Dropbox/IP/modelling phase/rules.txt" < /dev/null

我所做的是sicstus -l my_file.pl --goal "test_strategy(10,random,random)." < /dev/null

test_strategy我返回到 shell 的谓词在哪里。

干杯,丹

于 2012-03-06T02:28:52.013 回答