首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >预期脚本错误交互:派生id exp4未打开

预期脚本错误交互:派生id exp4未打开
EN

Stack Overflow用户
提问于 2019-10-07 23:30:11
回答 1查看 309关注 0票数 0

我有一个脚本,它像我预期的那样工作得很好,但在最后,当它终止时,会产生这个错误:

代码语言:javascript
复制
interact: spawn id exp4 not open
    while executing
"interact"
    (file "./pippo.sh" line 8)

代码是:

代码语言:javascript
复制
#!/usr/bin/expect

# Spawn Python and await prompt
spawn mono OpenSim.exe

expect_background {
    "Now recording all stats to file every {0}ms" { sleep 10 ; send "stats record stop\n" ; expect "Stopped recording stats to file." {sleep 5 ; send "quit\n"} }
}

interact
EN

回答 1

Stack Overflow用户

发布于 2019-10-09 01:02:07

如果当您的expect_background发送quit\n时,衍生的进程退出,这是正常的。这将关闭将expect连接到进程的文件描述符(派生id),因此当interact尝试继续读取(或写入)进程时,它将失败。

您可以通过在后台命令中添加一行代码来抑制该错误,该命令会检测文件结束并在文件结束时退出:

代码语言:javascript
复制
expect_background {
  "Now recording all stats to file every {0}ms" \
  { sleep 10 ; send "stats record stop\n" ; \
    expect "Stopped recording stats to file." \
    { sleep 5 ; send "quit\n"; \
      expect eof exit } } }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58272718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档