Linux编程
fluency1224
.......
展开
-
Linux应用编程基础--(6)守护进程
一、Linux 守护进程概述 Linux Daemon(守护进程)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。它不需要用户输入就能运行而且提供某种服务,不是对整个系统就是对某个用户程序提供服务。Linux系统的大多数服务器就是通过守护进程实现的。常见的守护进程包括系统日志进程syslogd、 web服务器httpd、邮件服务器sendmail和数原创 2017-10-28 15:20:18 · 322 阅读 · 0 评论 -
Linux应用编程基础--(4)多进程基础1
要想进行多进程编程,我们需要先了解一下Linux中多进程的机制: 一、Linux下的多任务机制: RTOS(实时操作系统) 时间片转轮和内核抢占 多任务处理:指的是用户可以在同一时间内运行多个应用程序,每一个正在执行的应用程序叫做任务。 多任务操作系统中3个基本概念: 任务、进程、线程 二、进程的基本概念: 进程是指一个具有独立功能的程序在某个数据集合上原创 2017-10-14 20:35:04 · 342 阅读 · 0 评论 -
Linux应用编程基础--(3)文件库
一、获取文件属性 我们可以使用stat()/fstat()/lstat()函数来获取某个文件的属性信息。 注意:stat既是Linux系统的用于查看文件属性的指令,又是在编程过程中可以使用的一个获取文件属性信息的函数。 其中stat()函数可以根据文件名(可带路径)获取文件的属性信息;fstat()函数可以根据已打开文件的文件描述符获得该文件的属性信息;lstat()函数用法类似于stat(原创 2017-10-12 20:52:18 · 235 阅读 · 0 评论 -
Linux应用编程基础--(10)进程间通信system V
IPC通信介绍: IPC(Inter-Process Communication,进程间通信)对象的介绍 注意:在IPC的通信模式下,不管是使用消息队列还是共享内存,甚至是信号灯,每个IPC的对象都有唯一的名字,称为"键"(key)。通过"键",进程能够识别所用的对象。"键"与IPC对象的关系就如同文件名称于文件,通过文件名,进程能够读写文件内的数据,甚至多个进程能够公用一个文原创 2017-10-29 17:30:42 · 204 阅读 · 0 评论 -
Linux应用编程基础--(9)进程间通信
进程间通信概述: 详细的讲述进程间通信在这里绝对是不可能的事情,而且笔者很难有信心说自己对这一部分内容的认识达到了什么样的地步,所以在这一节的开头首先向大家推荐著 名作者Richard Stevens的著名作品:《Advanced Programming in the UNIX Environment》,它的中文译本《UNIX环境高级编程》已有机械工业出版社出版,原文精彩,译文同样地道,如果原创 2017-10-29 17:21:34 · 220 阅读 · 0 评论 -
Linux应用编程基础--(2)文件IO
上一章介绍了标准IO编程、下面说一下文件IO。 相关函数的区别: 一、Linux文件I/O概述 1、POSIX规范 POSIX(Portable Operating System Interface,可移植操作系统接口规范)标准最初由IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师原创 2017-10-11 20:47:05 · 202 阅读 · 0 评论 -
Linux应用编程基础--(1)标准IO
一、文件与文件类型 1、文件定义 定义:文件(File)是一个具有符号名字的一组相关联元素的有序序列。文件可以包含的内容十分广泛,操作系统和用户都可以将具有一定独立功能的一个程序模块、一组数据或一组文字命名为一个文件。 文件名:这个数据有序序列集合(文件)的名称。 2、文件的分类 文件由许多种,运行的方式也各有不同。在Windows中,我们是通过文件的后缀名来对文件分类的。例如.txt、原创 2017-10-11 20:34:34 · 329 阅读 · 0 评论 -
Linux应用编程基础--(8)线程间的同步和互斥
前提引入: 多进程 共享同一个进程的地址空间,优点是进程间容易通信,即通过全局变量即可完成多线程见的通信。但是缺点是 当多线程同时访问共享对象时,需要引入同步和互斥机制。 一、线程间互斥 1,互斥机制的概念: 通过互斥锁来保证共享数据操作的完整性,互斥锁只有两种状态:上锁和解锁。具有唯一性和排他性,对文件来说访问者无序。也可把互斥锁看做是某种意义上的全局变量,同原创 2017-10-28 15:50:18 · 245 阅读 · 0 评论 -
Linux应用编程基础--(7)多线程编程
一、线程基础: 由于进程的地址空间是私有的,因此在进程间上下文切换时,系统开销比较大,为了提高系统性能,许多操作系统引入了轻量级进程的概念,也被成为线程。 线程是内核里调度的最小单位。 在许多经典的操作系统教科书中,总是把进程定义为程序的执行实例,它并不执行什么,只是维护应用程序所需的各种资源。而线程则是真正的执行实体,为了让进程完成一定的工作,进程必须至少包含一个线程。 进程原创 2017-10-28 15:42:21 · 181 阅读 · 0 评论 -
Linux应用编程基础--(5)多进程编程基础2
一、进程组 一个或多个进程的集合 进程组ID: 正整数 两个函数 getpgid(0) getpgrp() 函数原型为: #include pid_t getpgrp(void); #include pid_t getpgid(pid_t pid); 返回值,若成功则返回进程组ID,出错返回-1 进程组id = 父进程id,即父进程为组长进程 组长进程原创 2017-10-14 20:47:35 · 201 阅读 · 0 评论