摘要:
fork()函数用于从一个已存在进程中创建一个新进程,新进程称为子进程,原进程称为父进程,父子进程分别有各自的返回值,其中父进程的返回值是子进程的进程号,而子进程则返回0。使用fork函数得到的子进程是父进程的一个复制品,它从父进程处继承了整个进程的地址空间。地址空间:包括进程上下文、进程堆栈、打开的文件描述符、信号控制设定、进程优先级、进程组号等。子进程所独有的只有它的进程号,计时器等。因此,使用fork函数的代价是很大的。一般来说,在fork之后是父进程先执行还是子进程先执行是不确定的.这取决于内核所使用的调度算法。 阅读全文
摘要:
程序是存放在磁盘上,处于某个目录中的一个可执行文件.程序的执行实例被称为进程.进程是linux事物管理的基本单元。所有的进程均拥有自己独立的处理环境和系统资源。进程和程序的最本质的区别是程序是静态的,它是一些保存在磁盘上的指令的有序集合。进程是一个动态的概念,它是程序执行的过程,包括动态创建、调度和消亡的整个过程。进程最重要的属性是进程号(PID)和父进程号(PPID),PID惟一地标识了一个进程.一个进程创建的新进程称为子进程。相应创建了子进程的进程称为父进程。进程整个生命周期可以划分为三种状态: 1、执行态:该进程正在占用CPU运行 2、就绪态:进程已经具备执行的一切条件,正在等待... 阅读全文
摘要:
sscanf函数的高级用法
sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。
函数原型:
int scanf( const char *format [,argument]... );
其中的format可以是一个或多个:
{%[*][width][{h|l|I64|L}]type|' '|'\t'|'\n'|非%符号}, 阅读全文
摘要:
FILE *fopen(const char *pathname, const char *mode)
#include
注:Linux不区分二进制文件和文本文件,这一点与DOS、Windows系统中是有区分的。 阅读全文
摘要:
Linux中文件编程可以使用两种方法:
1、Linux系统调用(依赖于Linux系统)
2、C语言库函数(与系统独立,在任何系统下,使用C语言库函数操作文件的方法都是相同的) 阅读全文
摘要:
Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念。我们通过一般应用程序而创建的比如file.txt、file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文件类型中衡量的话,大多是常规文件(也被称为普通文件)。
Linux文件类型常见的有:普通文件、目录、字符设备文件、块设备文件、符号链接文件等;现在我们进行一个简要的说明。 阅读全文
摘要:
信号的阻塞就是让系统暂时保留信号留待以后发送。由于另外有办法让系统忽略信号,所以一般情况下信号的阻塞只是暂时的,只是为了防止信号打断敏感的操作。 阅读全文
摘要:
“/bin”、“/sbin”、“/usr/bin”、“/usr/sbin”、“/usr/local/bin”等路径已经在系统环境变量中了,如果可执行文件在这几个标准位置,在终端命令行输入该软件可执行文件的文件名和参数(如果需要参数),回车即可。 阅读全文
摘要:
shell简介
shell脚本程序就是按照一定的语法结构把若干linux命令组织在一起,使这些命令按照我们的要求完成一定功能。它可以进行类似程序的编写,并且不需要编译就能执行.
当编辑好脚本程序后,要使脚本程序可执行,需要改变其权限:
#chmod +x filename 阅读全文
摘要:
Linux中,命令的stdout(标准输出)和stderr(标准错误输出)是显示屏幕,而stdin(标准输入)是键盘.
一般情况下,shell通过标准命令接收用户命令,将执行的结果送往标准终端显示输出,而将标准错误信息写到标准错误信息输出。
有时,我们会希望把输出信息输出到某个特定文件中,或从某个文件读入输入信息.这时,就要用到输入输出重定向.
stdin 代码为0 使用或
stderr 代码为2 使用2或2 阅读全文