![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux系统函数
文章平均质量分 75
oLinXi1234567
这个作者很懒,什么都没留下…
展开
-
Linux中fork()函数
一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来转载 2014-05-04 14:59:19 · 408 阅读 · 0 评论 -
struct tm 和 time_t 时间和日期的使用方法
1.概念在C/C++中,对字符串的操作有很多值得注意的问题,同样,C/C++对时间的操作也有许多值得大家注意的地方。下面主要介绍在C/C++中时间和日期的使用方法.通过学习许多C/C++库,你可以有很多操作、使用时间的方法。但在这之前你需要了解一些“时间”和“日期”的概念,主要有以下几个:Coordinated Universal Time(UTC):协调世界时,又称为世界标准转载 2014-04-22 21:50:01 · 664 阅读 · 0 评论 -
linux中atoi函数
标准C库函数#include stdlib.h>原型 : int atoi( const char *str );功能:将字符串str转换成一个整数并返回结果。参数str 以数字开头,当函数从str 中读到非数字字符则结束转换并将结果返回。例如:int num = atoi("1314.012"); int值为1314转载 2014-04-23 14:22:57 · 12814 阅读 · 1 评论 -
Signal ()函数
signal()函数理解在 这个头文件中。signal(参数1,参数2);参数1:我们要进行处理的信号。系统的信号我们可以再终端键入 kill -l查看(共64个)。其实这些信号时系统定义的宏。参数2:我们处理的方式(是系统默认还是忽略还是捕获)。一般有3中方式进行操作。(1)eg: signal(SIGINT ,SIG_ING );//SIG_ING 代表忽略SIGI转载 2014-04-23 14:45:54 · 431 阅读 · 0 评论 -
linux进程通信---几个发送信号的函数(kill,raise,alarm,pause)
信号:信号是unix中最古老的进程通信的一种方式,他是软件层次上对中断机制的模拟,是一种异步通信方式,信号可以实现用户空间进程和内核空间进程的交互,内核进程可以利用他通知用户空间进程发生了哪些系统事件,我们可以任何时候给进程发送信号而无需知道进程的状态,如果进程当前并未处于执行态,则信号则会由内核保存起来,如果进程是阻塞状态,那么信号传递会被延迟,直到阻塞结束时才会传递给进程。看一下kil转载 2014-04-22 16:26:20 · 580 阅读 · 0 评论 -
Linux下Kill函数用法
[ KILL ]功能描述:用于向任何进程组或进程发送信号。1 #include sys/types.h>2 3 #include signal.h>4 5 int kill(pid_t pid, int sig);6 7 参数: pid:可能选择有以下四种1. pid大于零时,pid是信号欲送往的进程的标识转载 2014-04-22 08:06:32 · 428 阅读 · 0 评论 -
Linux系统下execl函数特点
Linux系统下execl函数特点: 当进程调用一种exec函数时,该进程完全由新程序代换,而新程序则从其main函数开始执行。因为调用exec并不创建新进程,所以前后的进程ID并未改变。exec只是用另一个新程序替换了当前进程的正文、数据、堆和栈段。 特点1.前后进程ID未改变,所以我们可以向该ID发送消息,控制一个不相关的可执行文件。pid转载 2014-04-22 16:40:37 · 554 阅读 · 0 评论 -
Linux C编程--进程介绍3--进程终止和等待
进程结束1.在Linux中任何让一个进程结束进程退出表示进程即将结束。在Linux中进程退出分为了正常退出和异常退出两种。1>正常退出a. 在main()函数中执行return 。b.调用exit()函数c.调用_exit()函数2>异常退出a.调用about函数b.进程收到某个信号,而该信号使程序终止。不管转载 2014-04-23 09:32:36 · 567 阅读 · 0 评论 -
Linux C编程--进程介绍2--exec函数
exec函数族fork()函数是用于创建一个子进程,该子进程几乎拷贝了父进程的全部内容,但是,这个新创建的进程如何执行呢?这个exec函数族就提供了一个在进程中启动另一个程序执行的方法。 exec函数族包括6个函数:int execl(const char *path, const char *arg, ...);int execlp(const char *fil转载 2014-04-23 13:39:32 · 520 阅读 · 0 评论 -
Linux C编程--进程介绍1--进程的创建
这篇文章介绍的内容包括1.Linux进程--进程标识号2.进程控制--进程创建1.Linux进程--进程标识号进程(Process)是一个程序在其自身的虚拟地址空间中的一次执行活动。多个程序并发执行,可以提高系统的资源利用率和吞吐量。进程和程序:程序只是一个静态的数据和指令集合,而进程是一个程序的动态执行过程,具有生命周期,是转载 2014-04-23 12:24:17 · 494 阅读 · 0 评论 -
linux C之alarm函数
alarm也称为闹钟函数,alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数seconds为0,则之前设置的闹钟会被取消,并将剩下的时间返回。要注意的是,一个进程只能有一个闹钟时间,如果在调用alarm之前已设置过闹钟时间,则任何以前的闹钟时间都被新值所代替。所需头文件 #includeunistd.h>函数原型转载 2014-04-23 14:37:09 · 615 阅读 · 0 评论 -
linux下 lseek函数用法
lseek函数 用法 :表头文件:#include #include 定义函数:off_t lseek(int fildes, off_t offset, int whence)函数说明:每一个已打开的文件都有一个读写位置,当打开文件时通常其读写位置是指向文件开头,若是以附加的方式打开文件(如O_APPEND),则会读写位置会指向文件尾。当re转载 2014-04-23 14:16:22 · 1954 阅读 · 0 评论 -
linux下的memset函数
起因】希望对各种类型的数组进行初始化,避免野值memset函数将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向S的指针。 【函数头文件】 提示:在linux中可以在terminal中输入 "man memset"进行查询 #include转载 2014-04-25 09:38:37 · 2627 阅读 · 0 评论 -
sprintf的用法简介
1 sprintf用法简介zt sprintf用法简介 选自《CSDN 社区电子杂志——C/C++杂志》 在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。 spri转载 2014-06-01 20:19:03 · 555 阅读 · 0 评论 -
Linux中select函数
Unix中的函数select和poll用来,支持Unix中I/O复用的功能,在Unix中I/O模型可以分为以一几种:(1)阻塞I/O(2)非阻塞I/O(3)I/O复用(select和poll)(4)信号驱动I/O(SIGIO)(5)异步I/O 其中,现在比较流行的I/O模型是阻塞I/O模型.阻塞I/O是当应用程序和内核交换数据时,由于内核还没有准转载 2014-04-21 15:37:56 · 526 阅读 · 0 评论 -
malloc函数和free函数
c语言中的动态内存分配函数malloc和free使用起来很灵活,但是也很容易导致错误,如果知道了malloc和free的实现原理,那么,出错的机会就很小了。 malloc的实现原理:操作系统维护了一个将可用的内存块连接为一个长长的列表的所谓空闲链表。调用malloc函数时,操作系统沿链表寻找一个大到足以满足用户请求所需要的内存块。然后,将该内存块一分为二(一转载 2014-04-20 09:33:25 · 982 阅读 · 0 评论 -
ioctl函数介绍
我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl, 所以就规定了我们讨论的范围。为什么要写篇文章呢,是因为我前一阵子被ioctl给搞混 了,这几天才弄明白它,于是在这里清理一下头脑。 一、 什么是ioctl。 ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,转载 2014-05-04 20:23:37 · 480 阅读 · 0 评论 -
getline()函数
getline()函数会生成一个包含一串从输入流读入的字符的字符串,直到以下情况发生会导致生成的此字符串结束。1)到文件结束,2)遇到函数的定界符,3)输入达到最大限度。在函数遇到和结束定界符相等的字符时函数结束,同时函数抽出定界符,此种情况下该定界符既不被放回输入流,也不被放入要生成的字符串。所以由此可以理解输入结束后的第一个回车是定界符,被确认后抛弃,而第二个才是程序执行运行时正常需要转载 2014-04-20 16:50:14 · 639 阅读 · 0 评论 -
Linux进程间通信源码剖析,共享内存(shmget()、shmat()、shmdt()及shmctl())
系统调用mmap()通过映射一个普通文件实现共享内存。系统V则是通过映射特殊文件系统shm中的文件实现进程间的共享内存通信。也就是说,每个共享内存区域对应特殊文件系统shm中的一个文件(这是通过shmid_kernel结构联系起来的),后面还将阐述。 进程间需要共享的数据被放在一个叫做IPC共享内存区域的地方,所有需要访问该共享区域的进程都要把该共享区域映射到本进程的地址空间中去。转载 2014-04-21 14:58:18 · 647 阅读 · 0 评论 -
Linux进程间通信源码剖析,共享内存(shmget函数详解)
shmgetint shmget(key_t key, size_t size, int flag);key: 标识符的规则size:共享存储段的字节数flag:读写的权限返回值:成功返回共享存储的id,失败返回-1key_t key----------------------------------------------- ke转载 2014-04-21 15:02:12 · 412 阅读 · 0 评论 -
linux进程通信(一)--共享内存+信号量,代码示例
理论很多,我们需要的是代码实践,呵呵!来自:http://fengtong.javaeye.com/blog/456661 [cpp] view plaincopy/*server.c:向共享内存中写入People*/ #include #include #include #inc转载 2014-04-21 15:04:11 · 640 阅读 · 0 评论 -
memcpy()函数
函数原型void *memcpy(void*dest, const void *src, size_t n);功能由src指向地址为起始地址的连续n个字节的数据复制到以destin指向地址为起始地址的空间内。头文件#include返回值 函数返回一个指向dest的指针。说明 1.source和desti转载 2014-04-20 10:51:22 · 1183 阅读 · 0 评论 -
关于typedef的用法总结
不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我自己写的内容)。用途一:定义一种类型的别转载 2014-04-21 15:39:45 · 360 阅读 · 0 评论 -
有几种访问结构体的方法
访问结构成员的运算符有两种,一种是结构成员运算符“·”,也称为“圆点运算符”,另一种是结构指针运算符“->”,也称“箭头运算符”。 结构成员运算符通过结构变量名访问结构体的成员。例如: printf("%s",student.name); 结构指针运算符由减号“-”和“>”组成(中间没有空格),它通过指向结构的指针访问结构的成员。假定声明了指向s转载 2014-04-20 20:29:56 · 3126 阅读 · 0 评论 -
Linux进程间通信源码剖析,共享内存(mmap)
范例1:两个进程通过映射普通文件实现共享内存通信范例1包含两个子程序:map_normalfile1.c及map_normalfile2.c。编译两个程序,可执行文件分别为map_normalfile1及map_normalfile2。两个程序通过命令行参数指定同一个文件来实现共享内存方式的进程间通信。map_normalfile2试图打开命令行参数指定的一个普通文件,把该文件映射到进程的地址转载 2014-04-21 15:01:16 · 499 阅读 · 0 评论 -
C语言函数calloc
函数简介 函数名: calloc 功 能: 在内存的动态存储区中分配n个长度为size的连续空间,函数返回一个指向分配起始地址的指针;如果分配不成功,返回NULL。 跟malloc的区别: calloc在动态分配完内存后,自动初始化该内存空间为零,而malloc不初始化,里边数据是随机的垃圾数据。 用 法: void *calloc(unsigne转载 2014-04-20 10:20:28 · 1366 阅读 · 1 评论 -
strncpy()函数,strcpy()函数,stpcpy()函数
原型:extern char *strncpy(char *dest, char *src, int n); 用法:#include 功能:把src所指由NULL结束的字符串的前n个字节复制到dest所指的数组中。 说明: 如果src的前n个字节不含NULL字符,则结果不会以NULL字符结束。 如果src的长度小于n个字节转载 2014-04-20 20:37:35 · 888 阅读 · 0 评论 -
time()函数
C/C++中的日期和时间头文件 time.h函数用途 函数名得到处理器时间 clock得到时间差 difftime设置时间 mktime得到时间 time得到以ASCII码表示的时间 asctime得到字符串表示的时间 ctime得到指定格式的时间 strftime摘要:本文从介绍基础概念入手,探讨了在C/C+转载 2014-04-21 09:22:01 · 898 阅读 · 0 评论 -
Linux中fork()函数
一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来转载 2014-04-22 12:34:46 · 354 阅读 · 0 评论 -
fcntl系统调用
今天在看《Linux设备驱动程序(第3版)》碰到了fcntl系统调用,以前没接触过。在网上查到了这份资料,转载自 企鹅乐园_雅虎群组。【fcntl系统调用】 功能描述:根据文件描述词来操作文件的特性。 用法: int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int转载 2014-12-09 16:20:20 · 431 阅读 · 0 评论