猛牛哥
记录网络点滴生活

aardio语言:process.popen函数运行的命令不支持管道符:|

|作为一个管道符号,意思是:将|前面命令的输出作为|后面命令的输入。
例如:netstat -ano | findstr 2000,这条命令会显示只含有2000字符的网络连接。
而使用aardio语言的process.popen()函数执行上面这条命令组合会出错。
解决方法:这个问题没办法解决,只能使用process.popen()函数执行netstat -ano这条命令,读取输出后,再使用aardio语言的字符串处理函数自行筛选结果。

我自己的应用片段:

var p=process.popen("netstat -ano")
var r=p.read(-1)
p.close()
var is_connect=string.match(r,"TCP [0-9 \.\:]+2000[ ]+ESTABLISHED[ ]+"++game_pid)
if(!is_connect){//失去TCP链接,判断为掉线
    io.print("游戏掉线");
    t_d.game_is_online=false;
    t_d.game_is_online_str="掉线";
}else {
    io.print(is_connect);
    t_d.game_is_online=true;
    t_d.game_is_online_str="在线";
}
赞(0) 打赏
猛牛哥原创:猛牛哥的博客 » aardio语言:process.popen函数运行的命令不支持管道符:|

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏