- 博客(11)
- 资源 (3)
- 收藏
- 关注
转载 linux下终端的类型(TTY)
终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。 tty是Teletype的缩写。Teletype是最早出现的一种终端设备,很象电传打字机,是由Teletype公司生产的。设备名放在特殊文件目录/dev/下,终端特殊设备文件一般有以下几种: 1.串行端口终端(/dev/ttySn) 串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终
2016-07-27 15:17:37 2856
转载 fork()子进程复制父进程的缓冲区的一个例子
#include <stdio.h>#include <sys/types.h>#include <unistd.h>int main(void){ int i; for(i=0; i<2; i++){ fork(); printf("-"); } return 0;}如果你对fork()的机制比较熟悉的话,这个题并不难,输出应该是6个“-”
2016-07-25 15:50:42 1454
转载 linux中的/dev/fd详解(linux3.2.0)
比较新的系统都提供名为/dev/fd的目录,其目录项是名为0、1、2等的文件。打开文件/dev/fd/n等效于复制描述符n(假定描述符n是打开的)。 在函数中调用:fd=open("/dev/fd/0",mode);大多数系统忽略所指定的mode,而另外一些则要求mode是所涉及的文件(在这里则是标准输入)原先打开时所使用的mode的子集。因为上面的打开等效于:fd=dup(0);描述符0和fd共
2016-07-21 14:50:46 6939
转载 FreeBSD和linux下/proc 目录介绍
1. /proc目录 Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。 用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,
2016-07-21 14:37:38 1465
转载 unix:fork()函数进阶讲解
一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。相当于克隆了一个自己。
2016-07-19 21:12:42 801
原创 创建内存流:fmemopen()函数详解
创建内存流的3个函数如下:#include <stdio.h>FILE* fmemopen(void*buf, size_t size, const char* mode);FILE* open_memstream(char**ptr, size_t* sizeloc);#include <wchar.h>FILE* open_wmemstream(wchar_t** ptr, size_t*
2016-07-14 21:12:55 8740
转载 linux系统调用:exit()与_exit()函数详解
exit()就是退出,传入的参数是程序退出时的状态码,0表示正常退出,其他表示非正常退出,一般都用-1或者1,标准C里有EXIT_SUCCESS和EXIT_FAILURE两个宏,用exit(EXIT_SUCCESS);可读性比较好一点。 作为系统调用而言,_exit和exit是一对孪生兄弟,它们究竟相似到什么程度,我们可以从Linux的源码中找到答案: “_NR“是在Linux的源码中为每
2016-07-13 13:39:32 29604
原创 《APUE.3E》习题4.6编写自己的cp(l)程序,它复制包含空洞的文件,但不将字节0包含到输出文件中去
1、产生空洞的方式lseek()#include "apue.h"#include <fcntl.h>char buf1[] = "abcdefghij";char buf2[] = "ABCDEFGHIJ";intmain(void){ int fd; /* 创建一个文件 */ if ((fd = creat("file.hole", FILE_MODE)
2016-07-12 14:29:21 1798 2
原创 《APUE.3E》用gdb调试ftw函数(图4-22)
所谓的ftw函数,就是降序遍历文件层次结构,对各种类型的文件计数 solaris上提供的ftw函数对每一个文件都是使用stat函数,这就会使得程序跟随符号链接,造成可能会由于成环的符号链接导致的多次重复处理同一个目录的问题,下面的apue.3e中图4-22使用了lstat阻止跟随符号链接的问题。为记录自己的学习,下面代码中加上自己的部分注释以及调试过程。#include "apue.h"#inc
2016-07-08 16:49:42 974
原创 CentOS 6.7上使用gdb调试时出现Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.192.el6.x86_64
CentOS 6.7上使用gdb调试时出现Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.192.el6.x86_641、先修改/etc/yum.repos.d/CentOS-Debuginfo.repo里面的debuginfo目录中enabled=1 2、yum install nss-softokn-debugi
2016-07-07 16:09:09 3240
转载 c语言中typedef的几种用法
几种用法:1.常规变量类型定义例如:typedef unsigned char uchar 描述:uchar等价于unsigned char类型定义 uchar c声明等于unsigned char c声明2.数组类型定义 例如: typedef int array[2]; 描述: array等价于 int [2]定义; array a声明等价于int a[2]声明扩展: typedef in
2016-07-07 09:41:57 23658 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人