什么造成了'-/bin/sh'重启

ZXW0521 2009-11-17 04:21:05
试图向一个arm开发板上移植ppp,
中间遇到了一些问题,
在我的pc(ubuntu 8.10)上,用gcc编译了ppp,运行它的守护进程 pppd,
在syslogd中记录的结果如下:
---------------------------------------------
Nov 17 15:35:04 ubuntu kernel: [21304.899082] PPP generic driver version 2.4.2
Nov 17 15:35:04 ubuntu pppd[12065]: pppd 2.4.4 started by zengxw, uid 0
Nov 17 15:35:04 ubuntu pppd[12065]: test
Nov 17 15:35:04 ubuntu pppd[12065]: Using interface ppp0
Nov 17 15:35:04 ubuntu pppd[12065]: Connect: ppp0 <--> /dev/pts/2
Nov 17 15:35:04 ubuntu pppd[12065]: Warning - secret file /etc/ppp/pap-secrets has world and/or group access
Nov 17 15:35:34 ubuntu pppd[12065]: LCP: timeout sending Config-Requests
Nov 17 15:35:34 ubuntu pppd[12065]: Connection terminated.
Nov 17 15:35:34 ubuntu pppd[12065]: Modem hangup
Nov 17 15:35:34 ubuntu pppd[12065]: Exit.
---------------------------------------------

然后用arm-linux-gcc交叉编译了ppp,在板子上跑pppd,
得到的结果和pc上不一样,
在syslogd记录的如下:
---------------------------------------------
Jan 1 00:35:24 uclibc daemon.notice pppd[404]: pppd 2.4.4 started by root, uid 0
Jan 1 00:35:24 uclibc daemon.info pppd[404]: test
Jan 1 00:35:24 uclibc daemon.info pppd[404]: Using interface ppp0
Jan 1 00:35:24 uclibc daemon.notice pppd[404]: Connect: ppp0 <--> /dev/ttyS0
Jan 1 00:35:51 uclibc daemon.notice pppd[404]: Modem hangup
Jan 1 00:35:51 uclibc daemon.notice pppd[404]: Connection terminated.
Jan 1 00:35:51 uclibc daemon.info init: process '-/bin/sh' (pid 398) exited. Scheduling for restart.
Jan 1 00:35:51 uclibc daemon.info init: starting pid 406, tty '/dev/ttyS0': '-/bin/sh'
Jan 1 00:35:51 uclibc daemon.info pppd[404]: Exit.
Jan 1 00:35:54 uclibc daemon.info init: process '-/bin/sh' (pid 406) exited. Scheduling for restart.
Jan 1 00:35:54 uclibc daemon.info init: starting pid 411, tty '/dev/ttyS0': '-/bin/sh'
---------------------------------------------

其中,比pc上多出了两次'-/bin/sh'的退出和重启,
这个会是什么原因造成的呢,

另外,我在arm板上运行了多次pppd,几乎每次都有这个问题,只有一次的结果和pc上一样,
...全文
966 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZXW0521 2009-11-20
  • 打赏
  • 举报
回复
又调试了很多次,
发现问题可能在这,
在pc上ppp0连接的/dev/pts/0
而在这里是
Connect: ppp0 <--> /dev/ttyS0

pppd运行的时候,会去从ppp设备读数据,
正常情况下,在pc上,没有其它程序会读/dev/pts/0
在开发板上,ttys0可能会被占用,

pppd运行时,会检测动ppp读到的数据,
当这个数据被干扰后,
pppd意外退出,但pppd认为它已经关闭了ppp设备,
就不再执行关闭指令,

继续执行下去后,导致/bin/sh退出









ZXW0521 2009-11-20
  • 打赏
  • 举报
回复
应该和编译器没关系
ZXW0521 2009-11-19
  • 打赏
  • 举报
回复
再顶一下,哎,,,,
yy2004005 2009-11-19
  • 打赏
  • 举报
回复
这个是编译器的问题?
ZXW0521 2009-11-18
  • 打赏
  • 举报
回复
自己顶一下
ZXW0521 2009-11-17
  • 打赏
  • 举报
回复
交叉编译是成功的,
看过一些交叉编译ppp的文章,
其中都说,只要移植过去的pppd,运行时输出乱码,就是成功了,

我移植后,是输出乱码了,
可是乱码输出的次数,
以及在系统里面记录的东西和pc不一致,
就像开头说的那样,

另外,
在您上面提到的方法中

修改./pppd-2.4.4/pppd/Makefile, 注释两行:
#wenxy comment #LIBS += -lpcap
#wenxy comment #CFLAGS += -DPPP_FILTER

作用是什么呢?
Wenxy1 2009-11-17
  • 打赏
  • 举报
回复

4,466

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧