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

10、UNIX 系统中的进程与程序详解

UNIX 系统中的进程与程序详解

进程组身份与程序执行

在 UNIX 系统里,进程可以通过执行getpgrp系统调用来确定其组身份,示例代码如下:

int mygroup; mygroup = getpgrp();

程序是进程的重要组成部分。当通过fork系统调用创建一个新进程时,它会获得其父进程的程序代码和数据结构的相同副本。但新进程通常要执行与父进程不同的任务,所以这种情况并不理想。

exec系统调用可让进程放弃当前程序,转而执行新程序。新程序位于作为参数传递给exec的路径名所指定的文件中。调用exec时,进程中的所有代码和数据都会被替换,但打开的文件、当前目录和进程间关系保持不变,除非在fcntl调用中指定了某些文件。

exec失败,比如新程序未找到或不可执行,将返回到调用程序;若调用成功,则从新程序的入口点继续执行。从这个意义上说,exec调用更像跳转而非子程序调用。

例如,当从 shell 中调用ls -l命令时,shell 会先调用fork创建一个新进程来执行ls程序,然后对ls程序所在的文件执行exec

http://www.cnnetsun.cn/news/41535.html

相关文章:

  • React JSON Schema Form终极指南:3步构建专业表单应用
  • 低价游陷阱专坑老年人?
  • Hazel引擎揭秘:如何用开源技术打造高性能2D/3D游戏开发平台
  • Spark-TTS方言合成实战:零样本实现普通话到多地域口音转换
  • cjdns网络服务发现机制深度解密:构建加密网络中的智能寻址系统
  • 【无标题】激活函数应该具有哪些特征
  • 深入解析Oracle SQL调优健康检查工具(SQLHC):从原理到实战优化
  • 5分钟上手shUnit2:Shell脚本单元测试终极指南
  • uni-app新手避坑指南:从零开始搭建跨平台应用
  • 深入浅出 ES Module
  • wangEditor处理ppt动画效果转网页兼容
  • 深度残差网络在智能垃圾分类中的技术实践与性能分析
  • wangEditor导入MathType公式保留矢量格式
  • Node.js BFF层实战:对接天远综合多头借贷/逾期/欺诈聚合接口
  • Day11 >> 150、逆波兰表达式求值 + 239、滑动窗口最大值 + 347、前K个高频元素
  • System Informer 终极指南:从零掌握Windows系统监控神器
  • 20、集群节点与实例的添加和删除操作指南
  • 5大React动画库生态对比:从入门到精通的全栈解决方案
  • 2、Oracle Real Application Clusters (RAC):特性、成本与效益解析
  • Phi-2模型完全攻略:让27亿参数的小巨人成为你的AI助手
  • 30分钟掌握Tauri:用Rust构建你的第一个桌面应用
  • WeChatTweak-macOS开源项目深度参与指南
  • NootRX:让AMD RDNA 2显卡在macOS上完美运行
  • DBeaver崩溃救星:3步紧急恢复SQL脚本的完整方案
  • 项目效率翻倍,做对了什么?
  • 少儿编程考试路径规划:考级与竞赛时间如何平衡?
  • 火星漫游车Rocker-Bogie悬挂系统核心技术深度解析与实战指南
  • ImmortalWrt网络流量监控完全指南:快速排查网络异常与优化带宽分配
  • 青少年编程考级的三大核心价值:目标建立与能力提升
  • 大疆(DJI)前端开发岗位面试经验总结与备战指南