站点图标 谷姐靓号网

Shell脚本大佬请进,求查一个奇怪的BUG-主菜单

Rate this post

项目是逗比大佬留下的Brook转发脚本,自从Brook的开发者修改了参数后一键脚本就不能正常运行了

我想办法改了改,现在可以启动Brook程序了,但是脚本的判断功能不正常不能识别Brook已经启动了

项目地址:https://github.com/zhucaidan/doubi/blob/master/brook-pf.sh

创建的服务:https://github.com/zhucaidan/doubi/blob/master/service/brook-pf_debian

逗比原始项目:https://github.com/ToyoDAdoubiBackup/doubi

Brook项目地址:https://github.com/txthinking/brook

关于Relay转发的说明:https://txthinking.github.io/brook/#/brook-relay

具体症状,求大佬解疑下

热议

这部分代码有问题吧

3楼 主菜单 2小时前

这部分代码有问题吧

我试着改成 brook 也不行

4楼 纯净水 2小时前

我试着改成 brook 也不行

你看看执行能否获取到正确pid?

5楼 我是坏虫 2小时前

不懂不会绑定

如果没结果,就删除最后一个 | 及后面的代码,直到有结果为止,然后告诉我结果是什么,最后一次执行的代码是什么。

先把这个的执行结果贴出来,然后再决定后面的筛查条件该怎么写

    root 21472 214690 15:07 ? 00:00:00 ./brook relay --from :1111 --to 111.com:1111

执行完看看是21472么

但是你这输出结果中也不包含这几个关键词呀,挺奇怪的。

13楼 唐王李世民 2小时前

检测到进程才提示

14楼 BoneAsh 2小时前

刚刚重启了下机器也还是不行,不过试了下PID是一样的

是的,目的就是获取pid,那就把语句替换进去就行了吧

15楼 主菜单 2小时前

这段命令是排除 .sh init.d server 这些文本,用来避免运行脚本/服务脚本时读取到自身命令的 PID。

那是不是删了后面的就行了?

16楼 G.K.D 2小时前

那是不是删了后面的就行了?

如果你用着没问题的话,直接删掉就行了~

102行是这样的:

    do_stop(){
    check_running
    if [[ $? -eq 0 ]]; then
    kill -9 ${PID}
    RETVAL=$?
    if [[ $RETVAL -eq 0 ]]; then
    echo -e "${Info} ${NAME} 停止成功 !"
    else
    echo -e "${Error} ${NAME} 停止失败 !"
    fi
    else
    echo -e "${Info} ${NAME} 未运行"
    RETVAL=1
    fi
    }

102行是这样的:

    do_stop(){
    check_running
    if [[ $? -eq 0 ]]; then
    kill -9 ${PID}
    RETVAL=$?
    if [[ $RETVAL -eq 0 ]]; then
    echo -e "${Info} ${NAME} 停止成功 !"
    else
    echo -e "${Error} ${NAME} 停止失败 !"
    fi
    else
    echo -e "${Info} ${NAME} 未运行"
    RETVAL=1
    fi
    }

19楼 G.K.D 2小时前

删掉后检测正常,启动正常,停止半正常(不提示文字会提示下面的文字),重启不正常只能停止不能启动:

...

那还是 PID 的检测有问题,结束进程的时候因为检测并写入变量的 PID 值有问题,才会导致这个错误提示。

估计是检测的时候,把脚本自身也检测到并写入变量了,这样变量中就有两个数字了,这才导致报错。

这样交流排错太蛋疼,有空的话,直接私信用 ToDesk 远程协助,我帮你改吧。。。

20楼 主菜单 1小时前

那还是 PID 的检测有问题,结束进程的时候因为检测并写入变量的 PID 值有问题,才会导致这个错误提示。

...

把那句替换掉简单写个停止,写入可行么

22楼 主菜单 1小时前

没看懂你说的什么意思。

没事。。看错了,大佬有空在github上pull一下改改呗

23楼 G.K.D 1小时前

没事。。看错了,大佬有空在github上pull一下改改呗

没兴趣去 PR(pull 是更新自己的仓库项目,PR 是修改别人的项目,需要对方同意)。

我可以远程协助去帮你修改,或者你自己慢慢折腾~

24楼 主菜单 1小时前

没兴趣去 PR(pull 是更新自己的仓库项目,PR 是修改别人的项目,需要对方同意)。

我可以远程协助去帮 ...

我已经fork了的项目,别人PR的话我不能同意吗?还是要原作者同意呢

不过我刚刚试了一下。。这个脚本好像不行了,Brook作者不允许一个Brook多进程,只能多开几个进程

现在的话这个脚本只能转发一条,多个转发不起作用了。。。

申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。

退出移动版