问题是这样的:
我在程序中使用了system函数做了一个重定向的操作,我们的平台分为三个部分:底层硬件,linux应用程序和上层C++应用程序,当我只运行linux应用程序测试时,一切正常,但是当跟我们的上层应用程序一起运行的时候,linux应用时不时的就会在system函数那里挂掉,整个程序都退出来了,感觉非常奇怪,linux应用程序和上层C++应用程序只是进行了网络连接,上层应用程序并没有执行其他操作。但是只要上层应用程序跟linux应用程序一起运行,就会时不时的把linux应用程序杀掉。请哪位有经验的朋友指点一下,万分感谢
1、“当我只运行linux应用程序测试时,一切正常”-怎么测的?
2、上层C++应用程序与linux应用程序是两个完全独立的进程,它们之间靠网络连接进行通信是吗?
3、linux应用程序里为什么要使用system函数?
使用system函数实际上调用fork()创建一个子进程,之后在子进程中调用/bin/sh-c string来执行参数string字符串所代表的命令,此命令执行完后随即返回原调用的进程。在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被忽略。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。