如何在应用程序中捕获到在Linux shell中输入的命令

yby4769250 2014-06-08 11:13:25
我现在有一个需求,从Linux shell中输入的命令我想获得,应用程序得到命令后,做其它用处,有什么钩子之类的函数吗?请教各位大神,scanf肯定是不能用的。

我的真实场景是这样的:一个系统上集成了两个CPU A和B,A作为主CPU外接了物理串口,可以用于程序调试,B的CPU没外接串口,无法直接通过串口调试B程序,就出现了这么个需求,在A中设置调试模式之后,需要A的应用程序得到从A的shell中输入的所有命令,A程序再通过CPU间的通信把命令传递给B CPU的应用程序,B CPU的应用程序把命令传给Bshell执行,然后把结果返回给A CPU的程序,完成B CPU的应用程序调试,相当于模拟了B的一个软串口,实现串口重定向,有哪位大神知道怎么从应用层得到Shell中的输入吗?高分求助
...全文
280 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
linlan999 2014-06-10
  • 打赏
  • 举报
回复
从应用层得到Shell中的输入 ============================ 严格来讲,需要用A的应用替换掉shell. 感觉逻辑应该为: A 上面写一个应用(该应用替代shell),该应用的stdin/stdout (忽略stderr)均为串口,该应用将接收到的字符串通过硬件发送 给B 的应用; B 上面写一个应用,该应用的 stdin/stdout均为硬件, 其将从输入获得的字符串发送到shell的stdin ,而将shell的 stdout/stderr 发送到B应用 (这部分可以参考telnetd、sshd代码) B应用将从shell发送来的字符串发送给硬件; A 应用将从硬件获得的字符串发送到stdout,也就是串口; 这还是有一些工作量的,尤其是硬件通信的部分。 可以考虑其他的方案,比如网卡;
0ldPine 2014-06-09
  • 打赏
  • 举报
回复
帮顶,感觉很高端的样子
yby4769250 2014-06-08
  • 打赏
  • 举报
回复
自己顶一下贴,别沉了,我的需求其实也是需要得到tty设备的输入即可,目前有什么方式吗?

23,220

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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