Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

一步一步学Linux C:setitimer

一步一步学Linux C:setitimer

setitimer:和alarm相似,但可以更精确的控制进程。which表示计时方式。value和oldvalue是指向itmerval指针。setitimer()调用成功返回0,否则返回-1。which取值:ITIMER_REAL : 以系统真实的时间来计算,它送出SIGALRM信号。ITIMER_VIRTUAL : 以该进程在用户态下花费的时间来计算,它送出SIGVTALRM信号。ITIMER_PROF : 以该进程在用户态下和内核态下所费的时间来计算...
一步一步学Linux C:信号处理潜在危险!!!

一步一步学Linux C:信号处理潜在危险!!!

信号作为异步进程的通信方式,在实际应用中是方便而实用的。但是,也应该注意到在使用信号时的潜在危险。在此简单介绍几种可能引发错误的具体情况,希望在实际进行信号处理时特别注意。当注册了一个信号处理函数时,可能会对某些系统调用进行修改。通常来讲,它们本来应是不受信号的影响,但由于注册了一个信号处理函数,系统可能会认为在一个信号到来时需要中断原系统调用。当这种情况发生时,原系统调用被终止,返回调用失败值,同时errno将被设置为EINTR。当然有一些时候,确实希望...
一步一步学Linux C:文件类型和属性

一步一步学Linux C:文件类型和属性

文件是有名字的一组相关信息的集合,在Linux 系统中,文件的准确定义是不包含有任何其他结构的字符流。通俗地说,就是文件中的字符与字符之间除了同属于一个文件之外,不存在任何其他的关系。文件中字符的关系,是由使用文件的应用程序来建立和解释的。每一个文件都具有特定的属性。Linux 系统的文件属性比较复杂,主要包括文件类型和文件权限两个方面。1.文件类型Linux下的文件可以分为5 种不同的类型。它们是普通文件、目录文件、链接文件、设备文件和管道文件。下面给出...
一步一步学Linux C:Linux文件组织信息

一步一步学Linux C:Linux文件组织信息

与Linux 系统中的文件相关的信息有三项。它们是文件的目录结构、索引节点和文件的数据本身。1.文件的目录结构系统的每一个目录都处于一定的目录结构中,该结构含有目录中所有的目录项的列表,每一个目录项都含有一个名称和索引节点。借助于名称,应用程序可以访问目录项的内容。而索引节点号则提供了所需引用文件自身的信息。2.索引节点在Linux 系统中,所有的文件都有一个与之相连的索引节点(inode)。索引节点是用来保存文件信息的。索引节点包含如下信息。在linux...
一步一步学Linux C:网络编程之通信机制和体系结构模式

一步一步学Linux C:网络编程之通信机制和体系结构模式

提到Linux 操作系统,就不能不提到网络技术。Linux 系统本身就是一个网络的产物,它在网络上可以供人们自由下载,并得到修改和完善。。Linux 系统支持多种网络协议,它的shell 还提供了强大的联网命令。这些优点使得Linux 为许多中小型的网络应用提供了完全的解决方案.提到计算机网络,就不得不先介绍一下它的通信机制和体系结构模式。1.通信模式所有的网络通信的实现方式可以分为两种:线路交换和包交换。所谓线路交换,就是指传输时在发送端和接收端之间建立...
一步一步学Linux C:文件操作

一步一步学Linux C:文件操作

由于文件操作网上的资源比较多,在这只简述下吧在Linux 系统中,有关I/O 的操作可以分为两类。它们是基于文件描述符的I/O 操作和基于流的I/O 操作。它们有着各自不同的特点和优势。有些情况下它们是可以相互替代的,有些情况下则不是。基于文件描述符的I/O 操作是通过文件描述符对一个文件执行I/O 操作的。文件是一个十分重要的概念。通常保存在外存中的数据都是以文件的形式保存的。文件描述符则是用于描述被打开文件的索引值。通常情况下,都是通过文件描述符打开一...
一步一步学Linux C:消息队列实例

一步一步学Linux C:消息队列实例

消息队列是一系列连续排列的消息,保存在内核中,通过消息队列的引用标识符来访问。消息队列与管道很相似,但使用消息队列的好处是对每个消息指定了特定消息类型,接收消息的进程可以请求接收下一条消息,也可以请求接收下一条特定类型的消息。#include<sys/types.h> #include<sys/ipc.h> #include<sys/msg.h> #include<stdio.h> #include&...
一步一步学Linux C:底层终端编程实例

一步一步学Linux C:底层终端编程实例

Linux 系统的终端处理是一个非常大的系统,需要处理许多不同类型的设备和需求。涉及的内容包括:调制解调器、终端仿真、伪终端等。Linux 系统处理终端的方法是通过串行接口连接的控制台与系统通信并运行程序。由于越来越多的厂商都参与到终端的生产,而且每个厂商都为自己的终端设计自己的命令集,所以需要有一种方法对终端的访问进行一般化处理。Linux 系统使用一个能力数据库terminfo来描述每个终端的能力以及调用这些功能的方法。在某些情况下,程序员希望能够对某...
Linux 网络编程简单实例

Linux 网络编程简单实例

当然此处仅仅是对于单用户请求的处理,对于多用户的请求后面再说!对于server处理:server要做的就是创建自己的套接字,然后设置一些参数:例如协议类型,IP之类。然后就是bind参数,再次就是监听( listen),最后就是accept进入睡眠等待状态,if有cilent的请求就会有反应!对于chient的处理:建立自己的套接字,然后就是连接到server,发送自己的数据,然后等待server的回送!server.cpp#include<stdi...
Linux 进程通信(System V)

Linux 进程通信(System V)

简介:一.#include <unistd.h>int pipe(int fd[2]); //!>注意参数是fd[0]是读的文件描述符,fd[1]是用来写的文件描述符一般用于 “父子进程” 之间的通信!因为pipe是没有标志的,所以只能在一个进程集中运作!“单向pipe”:父进程创建好 pipe 后,同时通过 fork() 创建一个子进程,然后父进程就可以关闭自己这端的“读进程”,因为 父进程就是将数据写入子进程的,所以无须 “读”,然后...
UNIX domain ( UNIX 预协议 ) 实例

UNIX domain ( UNIX 预协议 ) 实例

一般在我们自己的主机上通信的时候,前面也讲到过可以使用pipe,fifo,msg,共享内存之类,如果你想使用套接字的话,当然TCP/IP的套接字也是可以的,只要指定server的IP = 127.0.0.1 或者你的当前主机的实际接入网络的IP也是可以的!但是相对与此处的UNIX domain来说,在效率上可能会低一点点、、、UNIX domain的实际操作和前面的TCP/IP中的实际的操作的框架流程是差不多的!只是其中的细节的变化要注意!代码贴下:ser...
Linux基础知识:进程创建与退出小谈

Linux基础知识:进程创建与退出小谈

个人学习笔记,仅为加深记忆,水平有限,有错的地方,大家指正。1、进程创建使用fork()用户空间执行fork,陷入内核执行系统调用,创建子进程,实现父进程的拷贝,拷贝包括(进程控制块、页表)。父进程和子进程的页表共享物理页,没有实现内存的拷贝,linux采用了copy-on-write技术,就是子进程执行后如果有往内存写入的操作,操作系统就为子进程拷贝一份父进程内存的数据,父子进程的页表各自有自己的物理页相对应。往往子进程创建以后都是通过exec执行另外的...
<< 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 >>