1,场景
CGI程序根据 WEB前端发送的控制命令,执行相应的的shell脚本。
2,异常
WEB前端发送命令消息后, 一直无响应,直到超时。
3,分析
-
1) 替换 执行脚本为 简单的 date > 1.log 命令, 消息交互正常;
-
2) 手动执行 run.sh , 程序执行正常, 但是有大量的执行结果 字符输出 ;
-
3) 修改 CGI中 shell脚本调用命令 为 sh run.sh > 1.log , 避免执行结果输出到 标准输出, 消息交互正常;
4,总结
CGI程序 与 WEB前端的消息交互 依赖于 标准输入、输出,因此要避免在CGI程序中 打印非必要的字符, 包括调用的shell脚本 。