我一直在尝试通过shell脚本运行文件并将其输出写入该文件。
脚本非常简单:
/usr/local/sicstus4.1.1/bin/sicstus -l run --goal“runh('examples / calls_matlab.pl',S),停止。” > “/ Users / Andrew / Dropbox / IP / modeling phase / rules.txt”
但是,当我运行它时,它失败并出现以下错误: sicstus(24883,0x7fff70916ca0)malloc: *对象0x10082b408的错误:释放对象的校验和不正确 - 对象可能在被释放后被修改。 * 在malloc_error_break中设置断点以进行调试
另一方面,如果我从目标中移除“停止”,一切都很好,但Sicstus仍在运行。
有没有办法退出sicstus,而不必通过我的shell脚本引发上述错误?
感谢您的时间。
安德烈亚斯
答案 0 :(得分: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。
干杯, 丹