Unix/Linux编程实践教程

Posted IT由零开始

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unix/Linux编程实践教程相关的知识,希望对你有一定的参考价值。

execvp在程序中启动新程序:

用fork创建新进程:

 

forkdemo2代码:

测试fork的时候参考《Linux权威指南》阅读笔记(3)  使用了patch

[root@localhost programming]# diff -c forkdemo2.c forkdemo2_new.c > forkdemo2.patch
[root@localhost programming]# patch < forkdemo2.patch 
patching file forkdemo2.c
[root@localhost programming]# ls -lrt
total 7
-rwxrwxrwx 1 root root 4953 Sep  6 11:05 forkdemo2
-rwxrwxrwx 1 root root 4957 Sep  6 11:14 forkdemo2_new
-rwxrwxrwx 1 root root  119 Sep  6 11:17 forkdemo2_new.c
-rwxrwxrwx 1 root root  263 Sep  6 11:24 forkdemo2.patch
-rwxrwxrwx 1 root root  119 Sep  6 11:24 forkdemo2.c
[root@localhost programming]# 

这个forkdemo2输出的pid个数也挺有意思,最好从最底层往上算。

 

怎么判断是父进程还是子进程:在父进程中fork()的返回值是子进程的pid,在子进程中是0。

 

父进程用wait等待子进程退出:

子进程退出值保存在wait的参数中:

 

shell的fork、wait、exit:

exit细节:

 

exec家族:

 

释放char**的空间函数值得参考(截图的时候命名带char**竟然没法保存,因为文件名中不能带*,忘记了):

 

exit0表示成功:

脚本中增加流程控制时的处理函数:

 

shell变量的存储方式:

 

标准C库函数getenv可以读取环境变量值:

环境变量保存在一个字符串数组:

 

comm命令比较两个文件:

使用comm命令找出离开及新登录用户:

最低可用文件描述符原则:

重定向的方法:

close-then-open方法输入重定向:

open-close-dup-close方法:

用open-close-dup-close方法输入重定向:

系统调用dup小结:

open-dup2-close方法:

 系统调用pipe创建管道:

 

以上是关于Unix/Linux编程实践教程的主要内容,如果未能解决你的问题,请参考以下文章

Unix/Linux编程实践教程(0:)

软件开发知识体系

Unix, Linux 和MacOS

Unix/Linux环境C编程新手教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建

Unix/Linux环境C编程新手教程(22) C/C++怎样获取程序的执行时间

Unix教程_编程入门自学教程_菜鸟教程-免费教程分享