免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7613 | 回复: 9
打印 上一主题 下一主题

[系统管理] expect后台执行出错,求解 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-09-02 11:44 |只看该作者 |倒序浏览
30可用积分
我用expect写了一个磁盘格式化的脚本

脚本如下
/////////////////////////////////
#!/usr/bin/expect
#Usage: format disk.

set timeout 1800

if { $argc != 2 } {
    send "usage: expect script argument num != 2\n"
    exit
}

set mkfs_cmd [lindex $argv 0]
set dev_name [lindex $argv 1]

spawn $mkfs_cmd $dev_name

expect {
    "(y,n)" {
    send "y\n"
    #exp_continue
    }                 
}
#interact

/////////////////////////////////

该脚本会被其他bash脚本调用,前台运行没有问题 但是后台运行就出错
expect spawn  执行的命令格式例子 mkfs.ext4 /dev/sdd

我目前正在做一个云存管理系统, 需要监控主机状态和执行磁盘格式化操作,c程序调用bash脚本,bash中又会调用expect 脚本,c程序必然会作为后台执行

问题是调试时前台执行没问题, 转到后台就无法执行了;
求解

论坛徽章:
0
2 [报告]
发表于 2013-09-02 11:59 |只看该作者
脚本最后的 #interact   是没有注释掉的

论坛徽章:
0
3 [报告]
发表于 2013-09-02 11:59 |只看该作者
脚本最后的 #interact   是没有注释掉的

论坛徽章:
2
天蝎座
日期:2013-09-17 18:34:58射手座
日期:2013-09-25 10:46:41
4 [报告]
发表于 2013-09-02 12:42 |只看该作者
开头来个 log_file /tmp/format.log
啥叫后台执行没成功,描述详细点。我执行没问题。

论坛徽章:
0
5 [报告]
发表于 2013-09-02 14:06 |只看该作者
回复 4# os4fun


    expect脚本被bash脚本调用,比如bash脚本中 执行  expect脚本 mkfs.txt /dev/sdd
    bash脚本采用后台执行 ./bash脚本 &

论坛徽章:
0
6 [报告]
发表于 2013-09-02 14:57 |只看该作者
我改了下策略 :
打开 exp_continue
注释 interact   ,这样c程序后台执行就没问题了
脚本如下
#!/usr/bin/expect
#Usage: format disk.

set timeout 1800

if { $argc != 2 } {
    send "usage: expect script argument num != 2\n"
    exit
}

set mkfs_cmd [lindex $argv 0]
set dev_name [lindex $argv 1]

spawn $mkfs_cmd $dev_name

expect {
    "(y,n)" {
    send "y\n"
    exp_continue                 
    }
}

#interact

论坛徽章:
0
7 [报告]
发表于 2013-09-02 14:58 |只看该作者
expect脚本让我很迷惑,也许是我不太熟悉有关

论坛徽章:
0
8 [报告]
发表于 2016-07-01 14:50 |只看该作者
楼主,以及各位同学,鄙人也遇到了同样的困惑,特此留下解决方法,以期助人。

在脚本的最后一行加上  expect eof 即可后台执行。

h×t×t×p:×/×/blog.csdn.net(斜杠)zhuying_linux(斜杠)article(斜杠)details(斜杠)6904568

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
9 [报告]
发表于 2016-07-06 13:46 |只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP