我的nat123运行在安卓手机容器的centos7中,可能由于mono编译安装各种问题忽略,另外由于公司网络不稳定,导致nat123各种掉线甚至内存错误,因此需要定时重启nat123服务,如果你的应用很在意可用率不建议使用本方式。
(1).定时任务执行shell脚本
代码语言:javascript复制##关闭nat123相关进程
ps -ef |grep nat123linux |awk '{print $2}'|xargs kill -9
##进入nat123执行目录
cd /root
##启动nat123相关进程
nohup mono /root/nat123linux.sh service >/root/out_put.log 2>&1 &
你可以用宝塔添加定时任务1小时执行1次,上面的脚本你可以自己改下目录位置即可。
(2).PHP执行shell脚本
代码语言:javascript复制//1.配置nat123目录和执行文件和日志文件
$nat123_path = '/root';
$nat123_exec = $nat123_path . DIRECTORY_SEPARATOR . 'nat123linux.sh';
$nat123_out_put = $nat123_path . 'out_put.log';
//2.重置所在目录
chdir($nat123_path);
//3.关闭运行的Nat123进程
$stop_cmd = "ps -ef |grep nat123linux |awk '{print $2}'|xargs kill -9";
$res1 = exec($stop_cmd, $output, $return);
//4.重新启动Nat123进程
$start_cmd = "nohup mono $nat123_exec service >{$nat123_out_put} 2>&1 &";
$res2 = exec($start_cmd, $output, $return);
使用定时任务定时执行php即可,exec函数一般被禁用,建议自己开启下
提示:在使用脚本前至少手动执行nat123的脚本登录一次,否则无法使用自动登录