首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >仅当从busybox的inittab启动时,应用程序才会崩溃。

仅当从busybox的inittab启动时,应用程序才会崩溃。
EN

Stack Overflow用户
提问于 2014-04-10 00:08:07
回答 1查看 200关注 0票数 0

我正在为嵌入式busybox系统编写一个应用程序,它允许TCP连接,然后向所有连接的客户端发送消息。当我将网络发送到框中并从shell提示符运行应用程序时,它工作得很好,但当从inittab启动应用程序时,我遇到了问题。它将启动,我可以连接到应用程序与一个客户端。它成功地向该客户端发送一条消息,然后崩溃。如果我在发送任何消息之前连接第二个客户端,它也会崩溃。同样,如果我从shell提示符启动它,那么一切都是完美的。

以下是日志中出现的错误:

代码语言:javascript
运行
复制
<11>Jan  1 00:02:49 tmmpd.bin: ERROR: recvMessage failed, recv IO error 
<11>Jan  1 00:02:49 tmmpd.bin: Some other LTK TCP error 103. Closing connection 10 
<11>Jan  1 00:02:49 tmmpd.bin: ERROR: recvMessage failed, recv IO error 
<11>Jan  1 00:02:49 tmmpd.bin: Some other LTK TCP error 103. Closing connection 10 

如有任何建议,将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-10 01:32:17

我在arm-qemubusybox中进行了一些测试,并且能够启动一个脚本作为用户测试,以便在后台运行。

我创建了一个新的用户“测试”:

代码语言:javascript
运行
复制
buildroot-dir> cat etc/passwd
test:x:1000:1000:Linux User,,,:/home/test:/bin/sh

创建一个简单的testscript.sh

代码语言:javascript
运行
复制
target_system> cat /home/test/testscript.sh
#!/bin/sh

while :
do
    echo "still executing in bg"
    sleep 10
done

在我的/etc/init.d/rcS中添加了一个启动命令:

代码语言:javascript
运行
复制
#!/bin/sh
mount -t proc none /proc
mount -t sysfs none /sys
/sbin/mdev -s

/bin/su test -c /home/test/testscript.sh& # < Added this

现在,当我启动系统时,脚本将在后台运行,当我对进程进行grep时,它已作为用户test (默认根用户仅为0)启动:

代码语言:javascript
运行
复制
target_system> ps aux | grep testscript
496 test    0:00 sh -c home/test/testscript.sh
507 test    0:00 {testscript.sh} /bin/sh home/test/testscript.sh
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22976249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档