最近在使用ES9280开发板,设置两个应用程序同时启动,其中一个是TCP服务器程序,设置如下: 将应用程序test放在/usr文件下(可以放到其他的
文件夹下,只是测试,暂时放到这里面去)。
1.进入/usr/etc,将文件rc.local备份,并拷贝到window挂载文件夹,在window下面编辑此文件:
cd /usr/etc;
cp rc.local rc.localbak
cp rc.local /sharefile
2编辑rc.local
在文本的最后面加上/usr/test ,保存,并把此文件拷贝到/usr/etc覆盖掉原文件,重新启动开发板。
由于我这个程序是一个一直会往终端打印数据的程序,所以串口终端一直有数据打印出来,并且
终端输入ctrl+c,ctrl+z等都不能结束这个进程或者回到正常的输入终端。解决方面如下:
通过SecureCRT的telnet登陆开发板,输入IP,端口23,用户名,(有可能需要输入密码),我
这里不用输入密码,登陆后,输入ps查看当前的进程,找到前面提到的那个程序对应的ID,执行kill+ID
号,结束这个进程。这样,串口终端恢复正常。
但是我不能每次都这样处理这个问题。并且希望串口终端能正常输入,方法如下,在前面的rc.local
所加的应用程序后面加上“&”,如下:
usr/usrdefine/test &
这一句是加在rc.local文件的最后面,&前面有空格。这样此应用程序开机只会在后台运行,串口终端
可以正常输入。网上有些文章把上面的语句写成 /usr/usrdefine ./test &,经过本人在本人的开发板上验证,
不起作用。注:usrdefine是自己建立的一个文件夹,把前面提到test文件从/usr里面移动到/usr/usrdefine里面。
如果要开机同时启动两个应用程序,在rc.local末尾再加一行:/usr/usrdefine/test1 & 即可。
以上是自己的一个记录。