随笔分类 - Linux
摘要:Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照, 就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当
阅读全文
posted @ 2019-05-24 21:15
狂奔~
摘要:socket这个词可以表示很多概念: 在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP地址+端口号”就称为socket。 在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socket pair就唯一标识一个连接。
阅读全文
posted @ 2019-05-23 23:26
狂奔~
摘要:数据包封装 传输层及其以下的机制由内核提供,应用层由用户进程提供,应用程序对通讯数据的含义进行解释,而传输层及其以下处理通讯的细节,将数据从一台计算机通过一定的路径发送到另一台计算机。 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulatio
阅读全文
posted @ 2019-05-23 10:55
狂奔~
摘要:什么是nc nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具 nc的作用 (1)实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口 (2)端口的扫描,nc可以作为client发起TCP或UDP连接
阅读全文
posted @ 2019-05-22 22:45
狂奔~
摘要:有时候在Linux写C++程序处理大量的数据,程序内部需要分配很大的数组来存放一些数据,但有时候分配的数组太大的话运行时会出现段错误。这种情况可能是分配的数组大小超过了Linux系统的默认栈空间的大小了,导致栈空间不够分配,出现错误。 (1)查看linux默认栈空间的大小 通过命令 ulimit -
阅读全文
posted @ 2019-05-22 22:10
狂奔~
摘要:同步概念 所谓同步,即同时起步,协调一致。不同的对象,对“同步”的理解方式略有不同。 如,设备同步,是指在两个设备之间规定一个共同的时间参考; 数据库同步,是指让两个或多个数据库内容保持一致,或者按需要部分保持一致; 文件同步,是指让两个或多个文件夹里的文件保持一致。等等 而,编程中、通信中所说的同
阅读全文
posted @ 2019-05-20 14:50
狂奔~
摘要:pwrite,pread,在多线程中读写文件使用,将lseek 和read 或write 合为一个原子操作(在执行的时候不会失去CPU)。 ssize_t pwrite(intfd, const void *buf, size_tcount, off_toffset); 返回值:成功,返回写入到文件
阅读全文
posted @ 2019-05-20 11:22
狂奔~
摘要:安装线程man page,命令:sudo apt-get install manpages-posix-dev 线程概念 什么是线程 LWP:light weight process 轻量级的进程,本质仍是进程(在Linux环境下) 进程:独立地址空间,拥有PCB 线程:也有PCB,但没有独立的地址
阅读全文
posted @ 2019-05-19 22:49
狂奔~
摘要:一、pathogen简介 通常情况下安装vim插件,通常是将所有的插件和相关的doc文件都安装在中一文件夹中,如将插件全部安装在/usr/share/vim/vim73/plugin/目录下,将帮助文档全部安装在/usr/share/vim/vim73/doc/目录下。这样做带来的后果是修改和卸载插
阅读全文
posted @ 2019-05-19 20:24
狂奔~
摘要:基本概念: 1. tty(终端设备的统称): tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。 终端是一种字符型设备,它有多种类型,通常使用tty来简称
阅读全文
posted @ 2019-05-19 14:32
狂奔~
摘要:终端: 在UNIX系统中,用户通过终端登录系统后得到一个Shell进程,这个终端成为Shell进程的控制终端(Controlling Terminal), 进程中,控制终端是保存在PCB中的信息,而fork会复制PCB中的信息,因此由Shell进程启动的其它进程的控制终端也是这个终端。 默认情况下(
阅读全文
posted @ 2019-05-19 14:31
狂奔~
摘要:信号的概念 man 7 siganl 查看man手册 信号在我们的生活中随处可见, 如:古代战争中摔杯为号;现代战争中的信号弹;体育比赛中使用的信号枪......他们都有共性:1. 简单 2. 不能携带大量信息 3. 满足某个特设条件才发送。 信号是信息的载体,Linux/UNIX 环境下,古老、经
阅读全文
posted @ 2019-05-18 14:10
狂奔~
摘要:IPC方法 Linux环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间。任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间不能相互访问, 要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机
阅读全文
posted @ 2019-05-16 22:55
狂奔~
摘要:优秀博文参考: https://www.cnblogs.com/0xcafebabe/p/4478824.html http://www.cnblogs.com/0xcafebabe/p/4423699.html http://code.woboq.org/linux/linux/ 在线浏览kern
阅读全文
posted @ 2019-05-16 13:48
狂奔~
摘要:进程的相关概念: 程序和进程 程序,是指编译好的二进制文件,在磁盘上,不占用系统资源(cpu、内存、打开的文件、设备、锁....) 进程,是一个抽象的概念,与操作系统原理联系紧密。进程是活跃的程序,占用系统资源。在内存中执行。(程序运行起来,产生一个进程) 程序 → 剧本(纸) 进程 → 戏(舞台、
阅读全文
posted @ 2019-05-16 12:48
狂奔~
摘要:系统调用 什么是系统调用: 由操作系统实现并提供给外部应用程序的编程接口。(Application Programming Interface,API)。是应用程序同系统之间数据交互的桥梁。 C标准函数和系统函数调用关系。一个helloworld如何打印到屏幕。 C标准库文件IO函数。 fopen、
阅读全文
posted @ 2019-05-13 23:14
狂奔~
摘要:文件系统 文件存储 首先了解如下文件存储相关概念:inode、 dentry(d : dir, entry)、 数据存储、文件系统。 inode 其本质为结构体,存储文件的属性信息。如:权限、类型、大小、时间、用户、盘块位置……也叫作文件属性管理结构,ls 列出的信息也保存在 inode 中, 大多
阅读全文
posted @ 2019-02-24 22:58
狂奔~
摘要:strace + 运行的程序,可以查看程序运行的过程中调用的系统函数 read、write函数常常被称为Unbuffered I/O。指的是无用户及缓冲区。但不保证不使用内核缓冲区。
阅读全文
posted @ 2019-02-23 23:32
狂奔~
摘要:输出错误,errno是默认的全局变量 错误处理函数: 错误号:errno perror函数: void perror(const char *s); strerror函数: char *strerror(int errnum); 查看错误号: /usr/include/asm-generic/err
阅读全文
摘要:常我们在Makefile中会定义一些变量,方便Makefile的修改维护src = main.c func1.c func2.cCC = gcc #arm-linux-gccCPPFLAGS : C预处理的选项 如:-ICFLAGS:C编译器的选项 –Wall –g -cLDFLAGS :链接器选项
阅读全文

浙公网安备 33010602011771号