主题 : linux下开机自动启动出错:segmentation fault 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 5447
精华: 0
发帖: 34
金钱: 325 两
威望: 313 点
综合积分: 68 分
注册时间: 2009-04-23
最后登录: 2012-08-22
楼主  发表于: 2009-07-01 13:02

 linux下开机自动启动出错:segmentation fault

我按照手册,在友善板子的/etc/init.d/rcS里添加了启动的脚本如下:
/home/plg/test1
/home/plg/test2

当开机自动运行时,test1程序能自动起来;但test2起不来,报错:segmentation fault。
但是开机后我手动进入/home/plg下,输入./test2,然后程序能运行正常。
这是为什么呢?怎么解决自动启动?
这个阶段正是我事业的上升期,我怎么能走得开呢?
级别: 精灵王
UID: 3197
精华: 3
发帖: 770
金钱: 6995 两
威望: 5398 点
综合积分: 1600 分
注册时间: 2008-12-30
最后登录: 2010-12-31
1楼  发表于: 2009-07-01 13:44
这到底是什么程序呢?仅凭简单的现象是不能完全解决问题的。
级别: 新手上路
UID: 5447
精华: 0
发帖: 34
金钱: 325 两
威望: 313 点
综合积分: 68 分
注册时间: 2009-04-23
最后登录: 2012-08-22
2楼  发表于: 2009-07-02 10:52

 回 1楼(26672624) 的帖子

哦。这还和程序有关啊。
程序是和音频处理有关的,程序初始化里开辟了挺大的内存空间,需要打开文件进行读写。
初始化里还需要打开/dev/dsp进行录音操作。

等待中。。。
级别: 新手上路
UID: 2497
精华: 0
发帖: 30
金钱: 300 两
威望: 300 点
综合积分: 60 分
注册时间: 2008-11-20
最后登录: 2009-12-24
3楼  发表于: 2009-07-02 13:06
改用如下试试:
/home/plg/test1&
/home/plg/test2 &
级别: 新手上路
UID: 5447
精华: 0
发帖: 34
金钱: 325 两
威望: 313 点
综合积分: 68 分
注册时间: 2009-04-23
最后登录: 2012-08-22
4楼  发表于: 2009-07-02 20:46

 回 3楼(renyucjs) 的帖子

刚开始就是这么写的,不行。
为什么直接进到目录后就可以运行,而在启动时不能自动运行呢?
两者不一样吗?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
5楼  发表于: 2009-07-03 07:19

 Re:回 3楼(renyucjs) 的帖子

引用第4楼wangzai368于2009-07-02 20:46发表的 回 3楼(renyucjs) 的帖子 :
刚开始就是这么写的,不行。
为什么直接进到目录后就可以运行,而在启动时不能自动运行呢?
两者不一样吗?

当然不一样,运行/etc/init.d/rcS的时候,文件系统正处于初始化的早期,很可能程序需要的资源那时候还没有准备好。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 5447
精华: 0
发帖: 34
金钱: 325 两
威望: 313 点
综合积分: 68 分
注册时间: 2009-04-23
最后登录: 2012-08-22
6楼  发表于: 2009-07-04 11:49

 回 5楼(kasim) 的帖子

那应该写才能自动运行呢。
我要启动的那两个程序中,

test1通过UNIX的socket进行监听(服务器端),当收到test2的命令时,打开/dev/dsp进行放音;
test2需要打开/dev/dsp进行录音,同时通过UNIX的socket进行进程间通信(客户端),发送命令至test1。

整个程序就如上所述,应该怎么改写呢?请指教。。。