Linux C/C++ 编程
文章平均质量分 71
碎碎是个老司机
你的GTR不克服抬头过重的问题,是赢不了的我的86的
展开
-
LinuxC/C++编程(3)—异步清理子进程(避免成为僵尸进程)
先了解Linux中进程的一些机制:孤儿进程和僵尸进程:1 如果父进程先退出,子进程尚未退出,那么子进程会成为孤儿,这时候会被init进程领养,等到子进程生命周期结束后,init会作为父进程释放掉子进程所占用的资源,所以孤儿进程并没有危害;2 如果子进程先退出,父进程尚未退出,父进程必须调用wait()函数释放掉子进程所占用的资源,如果没有这样做,子进程的资源将不会自动释放,成为僵尸原创 2016-05-23 16:33:30 · 1267 阅读 · 2 评论 -
LinuxC/C++编程(2)—文件夹操作
Linux中文件和文件夹操作有所不同,这里写了个代码,实现了以下几个功能:1 设置和显示当前工作路径;2 显示工作路径下的子文件名称;3 在工作路径下创建一个新的文件夹;//============================================================================// Name : DiretoryTes原创 2016-05-23 15:33:17 · 664 阅读 · 0 评论 -
LinuxC/C++编程(1)—文件操作
这里以复制文件test到test1为例,例举了Linux编程的基本文件操作,代码如下://============================================================================// Name : FileTest.cpp// Author : Lin// Version :// Copyr原创 2016-05-23 11:16:02 · 470 阅读 · 0 评论 -
Linux编程中的坑——C++中exit和return的区别
今天遇到一个坑,折腾了一天才把这个坑填上,情况是这样的:写了段代码,在main()函数中创建一个分离线程,结果这个线程什么都没干就直接挂掉了,代码长这样:int main(){ 创建一个分离线程(); return 0;}后来研(bai)究(du)了一下,原来在main()函数中写return,会被编译器优化成exit,也就是直接杀死进程,所以分离出来的线程什么都没干,原创 2016-06-02 20:56:30 · 1744 阅读 · 0 评论 -
LinuxC/C++编程(9)—映射内存
简单来说,映射内存,就是创建硬盘文件到进程地址空间的映射,在进程中读写这段映射内存,可以向硬盘文件中直接同步。利用这点,映射内存也可以像共享内存一样,用来进行不同进程之间的通信。(但共享内存的效率较高,因为不需要任何复制粘帖操作,而映射内存,所产生的只是内存到硬盘中的一个映射,所以比较节省内存开销,可以创建一个空间很大的映射内存区来满足进程间通信的要求)内存映射是Linux中一种很有特色的原创 2016-06-01 11:14:33 · 670 阅读 · 0 评论 -
LinuxC/C++编程(8)—共享内存通信
懒,先贴代码,有空再更原理:写共享内存://============================================================================// Name : shmWrite.cpp// Author : Lin// Version :// Copyright : Your copyrig原创 2016-05-31 16:08:24 · 588 阅读 · 0 评论 -
LinuxC/C++编程(7)—守护进程
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任 务或等待处理某些发生的事件。 守护进程是一种很有用的进程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器 inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。 假如不依赖Linu原创 2016-05-27 15:33:01 · 1459 阅读 · 0 评论 -
LinuxC/C++编程(6)—重定向、管道重定向
LinuxC中的重定向功能,必须依靠等位文件描述符函数dup,该函数的介绍如下:dup和dup2用来复制文件描述符。函数介绍:#include int dup(int oldfd);int dup2(int oldfd,int newfd);dup用来复制oldfd所指的文件描述符。但复制成功时返回最小的尚未被使用的文件描述符。若有错误则返回-1,错误代码存入errno中。返回原创 2016-05-26 17:28:38 · 2644 阅读 · 0 评论 -
LinuxC/C++编程(5)—SystemV信号量
Linux中有多种类型的信号量,其中SystemV是比较重要的一种,常用于多进程同步和进程间通信。常用的函数均包含于中。参考了一篇很不错的博客文章:http://www.cnblogs.com/hjslovewcl/archive/2011/03/03/2314341.html自己写了一个程序,两个进程分别向控制台打印字符串,两个进程几乎一样,只是B进程中没有初始化/删除信号量。原创 2016-05-25 18:33:36 · 516 阅读 · 0 评论 -
LinuxC/C++编程(4)—管道通信
管道是Linux为进程提供的一种通信方式,这里所说的管道只能用于有血缘关系的进程(一般是子进程和父进程之间)。一般用来做进程同步和进程间通信。Linux中提供的有名管道的建立函数为:int pipe(int pipe[2]);pipe(建立管道):1) 头文件 #include2) 定义函数: int pipe(int filedes[2]);3) 函数说明: pipe()会原创 2016-05-25 15:27:39 · 1283 阅读 · 0 评论 -
LinuxC/C++编程(10)—socket本地通信
直接贴代码。这是服务端://============================================================================// Name : localSocket.cpp// Author : Lin// Version :// Copyright : Your copyright no原创 2016-06-12 20:23:59 · 626 阅读 · 0 评论