当前位置: 首页 > news >正文

如何不拷贝资源的使用fork

我们知道fork出的子进程会把父线程的资源拷贝一遍,其中包括文件描述符表,如果是一些独占的设备,那么经常会出问题。
比如你在父进程ose了设备,但子进程的文件描述符表里依然记录是open的,这样当你再次在父进程open时,就会出错报busy等正忙提示。
当在子进程里执行execl时,先把子进程的资源全部释放,然后再另起一个进程执行参数里的命令。
如下:

bool execlSystem(char* path)
{pid_t pid = fork();if (pid == -1){cout << " fork failed ....." << endl;}else if (pid == 0){cout << "child process ...." << path << endl;execl("/usr/local/bin/Capture",  "Capture", "-d", "0", "-m", "-1",  "-v", "video.raw", "-a", "audio.raw", NULL);//-d 0 -m 2 -n 50 -v video.raw -a audio.rawreturn true;}else{cout << "parent process ...." << endl;}
}
http://www.lryc.cn/news/108334.html

相关文章:

  • 使用事件侦听器和 MATLAB GUI 查看 Simulink 信号研究
  • 使用协程让物体颜色慢慢消失
  • 服务器流量
  • 加拿大量子研究新动作!D-Wave与滑铁卢大学合作研究量子相干性
  • 网络安全进阶学习第十一课——MySQL手工注入(2)
  • 数据库和ORM如何优雅的添加字段?
  • QT ubuntu下开发视频播放 FFmpeg
  • 8.3一日总结
  • load、unload和pagehide、pageshow
  • 【面试问题12】
  • 高性能网络框架笔记
  • leetcode 738. 单调递增的数字
  • FPGA项目设计:数字时钟
  • 科技云报道:向量数据库:AI时代的下一个热点
  • 【更新】119所院校考研重点勾画更新预告!
  • 【Leetcode】(自食用)LRU算法(哈希链表法)
  • robots.txt 如何禁止蜘蛛(百度,360,搜狗,谷歌)搜索引擎获取页面内容
  • JVM 学习—— 类加载机制
  • C#实现int类型和字节流的相互在转化
  • Centos设置固定IP地址,外网访问
  • 非线性弹簧摆的仿真(Matlab代码实现)
  • css实现文字颜色渐变+阴影
  • C++学习笔记总结练习:关联容器
  • TypeScript技能总结(二)
  • 整理一些Postgresql工作中常用面试中会问的问题---Postgresql面试题001
  • Xposed回发android.os.NetworkOnMainThreadException修复
  • 【Leetcode】二叉树的最近公共祖先,二叉搜索树转换成排好序的双向链表,前序遍历与中序遍历构造二叉树
  • 途乐证券|互联金融概念爆发,安硕信息“20cm”涨停,高伟达等大涨
  • 计数排序算法
  • 企业高性能web服务器-nginx