linux多进程编程
在linux中,运行的一个进程,会占去linux的三个地方,代码区,堆栈区和数据区.如果同时运行多个相同的程序,他们就会使用相同的代码区,代码区中存放的就程序的代码,但是数据区和堆栈区分别存放的是程序的数据,全局变量和局部变量,因此即使是相同的程序,也不可同时使用相同的数据和堆栈区.
#include<stdio.h>
#include<unistd.h>
int main()
{
if(fork() == 0)
{
printf("First.\n");
if(fork() == 0)
{
printf("Second.\n");
}
else
{
printf("Third.\n");
}
}
else
{
printf("Fourth.\n");
if(fork() == 0)
{
printf("Fivth.\n");
}
else
{
printf("Sixth.\n");
}
}
}
可以关注下程序的运行结果,以及输出的顺序,并理解为什么是这种输出结果
相关文档:
例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......
使用过滤器分类
每块网卡都有一个出口根排队规则,缺省情况下是pfifo_fast 排队规则。每个排队规则都指定一个句柄,句柄有两个部分,一个主号码和一个次号码。习惯上把根队列规定称为“1:”,等价于“1:0”。类的主号码必须与它们父辈的主号码一致。如下图。
......
文件命令
ls – 列出目录
ls -al – 使用格式化列出隐藏文件
cd dir - 更改目录到 dir
cd – 更改到 home 目录
pwd – 显示当前目录
mkdir dir – 创建目录 dir
rm file – 删除 file
rm -r dir – 删除目录 dir
rm -f file – 强制删除 file
rm -rf dir – 强制删 ......
~ 当前用户目录的缩写
cd ~
cd /home/<user-name>/
--help 获取帮助
vi --help
tab 自动补全。双击tab给出补全提示。
若当前命令无歧义,则完整补全。若有歧义双击可列出提示选项。
cd /e [tab], 补全为cd /etc/
cd /b [tab-tab], 列出选项bin/ bo ......
linux的热插拔是Greg Kroah-Hartman维护,所以这是篇经典文章。如果你有USB或者PCI设备驱动开发基础,一读就可以理解。
Hot-pluggable devices have been created to solve a number of user needs. On laptop computers, PCMCIA devices were designed to allow the user to swap cards while the computer was sti ......