Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1281270
  • 博文数量: 168
  • 博客积分: 3483
  • 博客等级: 中校
  • 技术积分: 1696
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-06 13:17
文章分类

全部博文(168)

文章存档

2015年(6)

2014年(9)

2013年(47)

2012年(11)

2011年(13)

2010年(18)

2009年(11)

2008年(42)

2007年(11)

分类: LINUX

2008-12-11 22:29:08

一组程序在其他机器运行都好好的,唯独在作每日集成的服务器上运行就出错,而平台/环境都是一样的,,
why?? 苦思不得其解,,

回家的公交车上脑子还在飞速旋转搜索各种可能的答案,,闭上眼睛,服务器上带着长长的命令行的终端画面又浮现出来,,这么长的命令行,,难道是目录深度过大导致的问题? 再仔细想想,,

不好,那个基于UNIX域套接字的客户端,里面没有对过长的UNIX域套接字路径作异常判断,只是用strncpy做了简单的截断处理;而向客户端程序传递的套接字路径是full path的,目录深度长一些就很可能超出的系统的限制,,

到站下车,回家,打开本本,man 确认: 没错UNIX套接字文件最大目录长度108B,终端长120列,,

怎么办呢?
    1、将套接字文件放在一个固定的较浅的目录下比如/etc/xxx/ 或/tmp
    2、向客户端程序传递套接字路径时,用相对目录
阅读(1403) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~