07-LINUX高级编程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
07-LINUX高级编程

LINUX高级编程 日程 进程及进程环境 进程控制 进程关系 进程及进程环境 进程的启动和终止 进程可以由用户启动 有五种方式使进程终止: (1) 正常终止: (a) 从main返回 (b) 调用exit (c) 调用_exit (2) 异常终止:(随后涉及) (a) 调用abort (b) 由一个信号终止 exit和_exit的相同 返回一个整数,表示程序终止状态 常用于Shell判断程序是否正确退出 exit和_exit的不同 exit执行清理 _exit直接退出 进程及进程环境 exit和_exit的区别 进程的启动和终止 程序的命令行参数 可以通过命令行向程序传递参数 int main(int argc, char *argv[]); 注意argv包含命令本身 环境表 linux操作系统提供环境变量 设置:编辑/etc/profile文件 查看:set 程序中可以使用 extern char **environ; C程序的存储空间布局 存储布局 正文段 这是由C P U执行的机器指令部分 初始化数据段 通常将此段称为数据段 包含了程序中需赋初值的变量 栈 自动变量以及每次函数调用时所需保存的信息都存放在此段中 堆 通常在堆中进行动态存储分配 C程序的存储空间布局 进程控制 进程标识 创建进程 执行进程 终止进程 进程控制流程 使用fork创建新进程 使用exec执行新程序 使用wait处理等待终止 使用exit处理进程终止 进程的标识 ID0: 内核 ID1: init系统初始化进程 相关函数 pid_t getpid(void); 返回:调用进程的进程ID pid_t getppid(void); 返回:调用进程的父进程ID uid_t getuid(void); 返回:调用进程的实际用户ID uid_t geteuid(void); 返回:调用进程的有效用户ID gid_t getgid(void); 返回:调用进程的实际组ID gid_t getegid(void); 返回:调用进程的有效组ID 创建进程 使用fork创建进程 新进程称为子进程,原进程称为父进程 调用一次,返回两次 在子进程之中返回0 在父进程之中返回子进程ID 子进程是父进程的复制品 子进程获得父进程数据空间、堆和栈的复制品 执行进程 exec调用参数 可以指定目录或者文件名 可以指定命令行参数 可以指定环境变量 wait等待子进程结束 僵尸进程 wait(NULL) 等待子进程结束 wait(pid, NULL, 0) 调用系统命令 system函数可以直接调用系统命令 进程组和进程树 按照进程所属关系可以按照用户ID和组ID对进程分组 按照进程创建关系,可以将所有进程组成一个进程树 SHELL的原理 shell是命令解释器 打印提示符 得到用户命令行输入 调用 exec执行 截获执行后的结果 返回并输出提示信息 实践开发 观察进程启动和中止 打印命令行参数 打印环境变量 Fork创建新进程 Wait等待进程结束 System调用其他进程 理解Shell原理 * * * *

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档