news 2026/4/28 11:40:06

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
10、UNIX 系统中的进程与程序详解

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

进程组身份与程序执行

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

int mygroup; mygroup = getpgrp();

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

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

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 8:15:36

计算机毕业没计全流程指南(小白也能看懂)

在大学最后一个学期,毕业设计是每个计算机专业学生必须完成的重要环节。它不仅关系到毕业和学位评定,还展示你这些年所学的技术与思考能力。如果你从未做过完整项目,不要慌,本指南将带你一步一步完成。 🚀 一、什么是毕…

作者头像 李华
网站建设 2026/4/28 8:48:32

制造业智能助手:AI驱动的生产决策革新

制造业智能助手:AI驱动的生产决策革新 【免费下载链接】llm-answer-engine Build a Perplexity-Inspired Answer Engine Using Next.js, Groq, Mixtral, Langchain, OpenAI, Brave & Serper 项目地址: https://gitcode.com/GitHub_Trending/ll/llm-answer-eng…

作者头像 李华
网站建设 2026/4/27 19:59:45

3步搞定GPT-2 Large本地部署:从零开始的终极指南

3步搞定GPT-2 Large本地部署:从零开始的终极指南 【免费下载链接】gpt2-large 项目地址: https://ai.gitcode.com/hf_mirrors/openai-community/gpt2-large 还在为API调用费用发愁?担心云端数据隐私问题?本教程将带你用最简单的方式&…

作者头像 李华
网站建设 2026/4/25 16:10:00

如何为ComfyUI添加新的采样算法节点?

如何为ComfyUI添加新的采样算法节点? 在生成式AI的浪潮中,Stable Diffusion 已从研究实验室走向工业级内容生产。然而,传统的 WebUI 虽然易用,却难以满足对流程控制、可复现性和自动化部署的高阶需求。正是在这样的背景下&#xf…

作者头像 李华
网站建设 2026/4/27 1:18:24

【Java毕设源码分享】基于springboot+vue的高校大学生助学贷款系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/27 21:04:14

【Java毕设源码分享】基于springboot+vue的高校超市管理系统设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华