【Linux系统编程入门】教程文章相关的互联网学习教程文章

Linux -- 信号编程【代码】【图】

进程捕捉到信号对其进行处理时,进程正在执行的正常序列就被信号处理程序临时中断,它首先执行该信号处理程序中的指令。如果从信号处理程序返回(例如没有调用exit或longjmp),则继续执行在捕捉到信号时进程正在执行的正常指令序列。1. 在信号处理程序中,我们要保证调用”异步信号安全”的函数,即可重入的函数不可重入的函数大多(a)已知它们使用静态数据结构。(b)它们调用malloc或free(c)它们是标准I/O函数 2. 由于每个线程只有一...

【Linux 网络编程】常用TCP/IP网络编程函数【代码】

(1)函数socket 1/****************************************************************2** 功能:创建一个套接字用于通信3** 参数:domain 指定通信协议族4** type 指定socket类型,流式套接字 SOCK_STREAM 5** 数据报套接字 SOCKDGRAM6** 原始套接字 SOCKRAW7** protocol 协议类型 (习惯上填写0)8** 返回值:成功返回非负整数,它与文件描述符类似,...

linux命令行与shell脚本编程大全---bash shell命令

PS1 =“[\t][\u]\$” //新的shell提示符显示了当前时间和用户名  在Windows中,你经常看到这样的文件路径:D:\work\FTL moniqi\ftl_lru-0513\ftl_lru-0513\SI  linux则采用一种不同的方式。linux将文件存储在单个目录结构中,这个目录我们称为虚拟目录。虚拟目录包含了安装在PC上的所有存储设备的文件路径。  linux使用正斜线“/”而不是反斜线“\”来在文件路径中规划目录。  相对路径:有两个特殊字符 ...

【Linux编程】socket编程【图】

套接字是通信端点的抽象。文件描写叙述符用open函数创建,而套接字描写叙述符用socket函数创建。socket函数原型例如以下:int socket(int domain, int type, int protocol); // 返回值:成功返回套接字描写叙述符,失败返回-1domain域确定通信特性。不同的域表示地址的格式不同,表示域的常数以AF开头。表示地址族(address family):type确定套接字类型。进一步确定通信特征:protocol通常为0,表示按上述两个參数确定默认的协议...

【linux高级程序设计】(第十三章)Linux Socket网络编程基础【代码】【图】

IP地址定义:struct in_addr{__u32 s_addr; }; in_addr_t inet_addr (__const char * __cp) :把点分十进制IP地址字符串转换为32位IP地址(网络存储顺序)。in_addr_t inet_network (__const char * __cp) :把点分十进制IP地址字符串转换为32位IP地址(主机字节顺序)。char * inet_ntoa (struct in_addr_in) :把32位网络字节顺序的IP地址转换成点分十进制表示。int inet_aton (__const char *__cp, struct in_addr *__inp) :把...

关于unix环境高级编程、Linux程序设计两部书浅谈

unix环境高级编程的术语很多,概念内容,也很多,不过学习概念性质、标准规则类的东西,想必都是这样吧——需要进行拓展的内容很多。Linux程序设计,图文并茂,代码量够足,看起来,感觉难度还可以。linux程序设计这部书,是我第一部接触到的,因为想研究纯后端的东西,所以上面的不少图形界面相关的内容,我都是跳着看——感觉快要放弃这本书了,不过对unix体系,Linux的设计了解了很多东西,也只能是了解的底部,深入的话,需要时...

Linux设备驱动编程中的中断与定时器处理

所谓中断是指CPU在执行过程中,出现某些突发时间急待处理,CPU必须暂停执行当前的程序,转去处理突发事件,处理完毕后CPU又返回原程序被中断的位置并继续执行。 中断分为(根据中断源来分): 内部中断(软件中断指令,溢出,除法错误等)【例如操作系统从用户态切换到内核态需借助CPU内部的软件中断】。 外部中断(中断源来自CPU外部,由外设提出请求)。 中断分为(根据是否可屏蔽): 可屏蔽...

linux下的UDP套接字编程【代码】【图】

一.相关过程以及知识请详见我的另一篇博客《winsock套接字编程》,这里不再累述。二.相关代码:server.c: 1 /**************************************** 2 > File Name:server.c 3 > Author:xiaoxiaohui 4 > mail:1924224891@qq.com 5 > Created Time:2016年05月21日 星期六 15时05分23秒 6 ******...

服务器编程入门(4)Linux网络编程基础API【图】

在Java中执行脚本命令以及调用外部程序说明一、Java中关于ProcessBuilder 和 Runtime 类的介绍在Java中要想执行脚本或者调用程序必须通过ProcessBuilder 和 Runtime 类,以上两个类任选一个就行,关于他们的介绍如下:ProcessBuilder.start() 和 Runtime.exec() 方法都被用来创建一个操作系统进程(执行命令行操作),并返回Process 子类的一个实例,该实例可用来控制进程状态并获得相关信息。Process 类提供了执行从进程输入、执行...

Linux系统编程——I/O多路复用select、poll、epoll的区别使用【图】

I/O 多路复用技术是为了解决进程或线程阻塞到某个 I/O 系统调用而出现的技术,使进程不阻塞于某个特定的 I/O 系统调用。select(),poll(),epoll()都是I/O多路复用的机制。I/O多路复用通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪,就是这个文件描述符进行读写操作之前),能够通知程序进行相应的读写操作。但select(),poll(),epoll()本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负...

Linux编程---套接字

网络相关的东西差点儿都是建立在套接字之上.所以这个内容对于程序猿来说还是蛮重要的啊.事实上套接字也就是一个特殊的设备文件而已,我始终不能明确为什么要叫套接字.这么个奇怪的名字.只是还是就这样算了吧.关键还是编程上.因为其重要性,我还是写的具体一点吧. 一.套接字核心函数: int socket(int domain,int type,int protocol);这个函数在通信域domain中创建一个类型为type,使用协议protocol的套接字.而且返回一个描写叙述字,也...

Linux C高级编程——文件操作之系统调用

Linux C高级编程文件操作之系统调用宗旨:技术的学习是有限的,分享的精神的无限的! 库函数是一些完成特定功能的函数,一般由某个标准组织制作发布,并形成一定的标准。使用库函数编写的函数一般可以应用于不同的平台而不需要做任何修改,具有很好的可移植性。 系统调用函数与操作系统直接相关,不同的操作系统所使用的系统调用可能不太一样,因此,如果两个操作系统差异很大,系统调用函数的可移植性就不高。例如...

Linux下C编程-----IO/文件操作/内存映射 实现简单记录存储(3)

利用linux下的文件内存映射可以实现进程共享数据,我们可以把一个文件映射到虚拟内存中使多个进程进行共享,到这里我们大概能想到他能应用到的领域 是很广泛的 主要涉及到 mmap munmap msync 三个函数的应用下面贴代码 下面一段代码是为文件建立一个简单的记录存储,并且通过内存映射修改文件内容/*************************************************************************> File Name: memdb.c> Author: > Mail: > Created Tim...

linux网络编程之TCP/IP基础篇(一)【图】

从今天起,将会接触到网络编程,平台是linux,实现语言C语言,最后将会实现一个简易的miniftp服务器。  主要的内容安排为:linux网络编程之TCP/IP基础篇,SOCKET编程篇,进程间通信篇,线程篇,实战ftp篇。  1.ISO/OSI参考模型:open system interconnection开放系统互联模型是由OSI(international organization for standardization )国际标准化组织定义的网络分层模型,共七层。  各层的具体含义:  物理层(Physical ...

Linux内核编程:从hello world 开始-(3)_run      【代码】

/* *File : test.c *Author : DavidLin *Date : 2014-12-07pm *Email : linpeng1577@163.com or linpeng1577@gmail.com *world : the city of SZ, in China *Ver : 000.000.001 *history : editor time do * 1)LinPeng 2014-12-07 created this file! * 2) */1.获得root权限:su root;2.make ...