红帽子linux中断C程序运行,在Linux中Expect – 中断程序 – Ctrl C.

我正在运行以下脚本以在远程服务器上启动捕获并随后下载该文件.目前我必须用Ctrl C暂停它并手动退出.

如何替换交互并定义触发器以终止tcpdump或捕获Ctrl C并将其传递到远程服务器内?

spawn ssh "$user_ssh\@$ssh_server"

expect {

"*password" { send "$pass\n"; exp_continue}

"root\@*" { }

timeout { puts "time out expecting password or bash"; exit 1 }

}

send "sudo tcpdump -i $intf -s0 -w $file -v\n";

interact

spawn scp "$user_ssh\@$ssh_server:$file" .

expect "password:"

send "$pass_ssh\n";

expect "100\%"

要发送Ctrl C,请执行以下操作:

send \x03

要处理传入的Ctrl C,请执行以下操作:

trap {your handler script here} SIGINT

您可能希望使处理程序脚本(可以是一个多行的东西)将信号发送到内部进程…

trap {

send \x03

send_user "You pressed Ctrl+C\n"

} SIGINT

但要小心!当用户在文本模式程序中按下Ctrl C时(在大多数GUI中,这是一个复制操作),他们通常希望它很快消失,所以你应该注意确保你不要花太多时间信号到达清理一切.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值