![](https://img-blog.csdnimg.cn/20191017203506855.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux
以下是关于我linux学习的一些个人笔记以及对linux的一些理解,若有不正之处,还希望广大网友进行批评指正!
你若盛开,清风自来!
一路IT深似海,从此学习无绝期!
展开
-
linux守护进程设置开机自启动的两种方式
linux守护进程设置开机自启动的两种方式前期准备第一种方式第二种方式前期准备首先,我们创建一个守护进程1、守护进程初始化程序init.c文件如下:#include<unistd.h>#include<signal.h>#include<sys/param.h>#include<sys/types.h>#include<sys/...原创 2019-11-22 13:51:10 · 4452 阅读 · 1 评论 -
进程间的5种通信方式详细介绍
进程间的5种通信方式详细介绍一、管道无名管道进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。一、管道无名管道特点:半双工通信,即数据流只能在一个方向上...转载 2019-11-21 21:32:31 · 3945 阅读 · 0 评论 -
Linux下条件编译
#if 的用法#if 用法的一般格式为:#if 整型常量表达式1 程序段1#elif 整型常量表达式2 程序段2#elif 整型常量表达式3 程序段3#else 程序段4#endif它的意思是:如常“表达式1”的值为真(非0),就对“程序段1”进行编译,否则就计算“表达式2”,结果为真的话就对“程序段2”进行编译,为假的话就继续往下匹配,直到遇到值为...转载 2019-11-21 10:14:43 · 703 阅读 · 0 评论 -
Linux下文件读写函数的使用最全总结
Linux下文件读写函数的使用总结读、写、追加方式modefopen()函数用法char *fgets(str,n,fp)int fputs(const char *s, FILE *stream);fclose()函数1. 文件的顺序写函数文件的顺序读操作函数文件的随机读写函数读、写、追加方式moder: 读打开, 不创建w: 写打开,创建/清空a: 写打开, 创建/追加r+: 读...转载 2019-11-21 00:11:05 · 2491 阅读 · 0 评论 -
Linux文件描述符
Linux文件描述符一、文件描述符(fd)文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,其是一个非负整数(通常是小整数),用于指代被打开的文件,所有执行I/O操作的系统调用都通过文件描述符。我们都知道在Linux下一切皆文件。当然设备也不例外,如果要对某个设备进行操作,就不得不打开此设备文件,打开文件就会获得该文件的文件描述符fd( file di...原创 2019-11-20 18:38:02 · 1322 阅读 · 1 评论 -
exec函数族用法总结
1、exec函数说明fork()函数通过系统调用创建一个与原来进程(父进程)几乎完全相同的进程(子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的是上述存储空间的“副本”,这意味着父子进程不共享这些存储空间。linux将复制父进程的地址空间内容给子进程,因此,子进程由了独立的地址空间。),也就是这两个进程做完全相同的事。在fork后的子进程中使用exec函数族...原创 2019-11-19 20:39:15 · 1490 阅读 · 0 评论 -
exit()、_exit()、return 的区别详解
_exit(0)与exit(0)exit ():调用exit函数之后,它首先会执行一系列的清理处理,包括调用执行各终止处理程序,关闭所有标准IO流等,然后进入内核。_exit ():与exit不同的是,它不进行清理工作而直接进入内核。此函数由POSIX.1说明,放在unistd.h里面。return :函数返回传递参数的,当然在main函数里就是结束进程了。也就是说,在main(...原创 2019-11-19 11:15:39 · 617 阅读 · 0 评论 -
全缓冲、行缓冲、无缓冲三种缓冲区的理解
缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。为什么要引入缓冲区比如我们从磁盘里取信息,我们先把读出的数据放在缓冲区,计算机再直接从缓冲区中取数据,等缓冲区的数据取完后再去磁盘中读取,这样就可以减少磁盘的读写次数,再加...原创 2019-11-19 10:17:15 · 4890 阅读 · 0 评论 -
fork()函数与vfork()函数总结
首先介绍下fork函数#include <sys/types.h>#include <unistd.h>pid_t fork (void );正确返回: 父进程中返回子进程的进程号;子进程中返回 0;(单调用双返回函数)错误返回:-1;子进程是父进程的一个拷贝。具体说, 子进程从父进程那得到了数据段和堆栈段,但不是与父进程共享而是单独分配内存。fork...原创 2019-11-18 20:05:11 · 952 阅读 · 1 评论 -
Makefile项目管理
一个规则两个函数三个自动变量.c文件如下:![makefile文件内容如下:hggg看k原创 2019-10-25 09:53:56 · 158 阅读 · 0 评论 -
Linux下动态链接与静态链接
一、首先我们来说一下库的基础概念:在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的本质不同,因此二者库的二进制是不兼容的。通俗的说就是把这些常用函数的目标文件打包在一起,提供相应函数的接口,便于程序员使用。在使用函数时,只需要包对应的头文件即可。按照库的使用方式又可分为动态库和静态库,在...原创 2019-10-24 13:02:57 · 941 阅读 · 1 评论 -
Linux常用命令详解
@topgit initgit statusgit addgit commit -m “”git remote add origin htttps://git pull origin mastergit push -u origin new1:new1以通过如下命令进行代码合并【注:pull=fetch+merge]git pull --rebase origin linuxpr...原创 2019-10-23 23:34:45 · 113 阅读 · 0 评论