易截截图软件、单文件、免安装、纯绿色、仅160KB

LINUX 自启动管理

前言
linux有自己一套完整的启动体系,抓住了linux启动的脉络,linux的启动过程将不再神秘。 
阅读之前建议先看一下附图。 
本文中假设inittab中设置的init tree为: 
/etc/rc.d/rc0.d 
/etc/rc.d/rc1.d 
/etc/rc.d/rc2.d 
/etc/rc.d/rc3.d 
/etc/rc.d/rc4.d 
/etc/rc.d/rc5.d 
/etc/rc.d/rc6.d 
/etc/rc.d/init.d 
目录 
1. 关于linux的启动 
2. 关于rc.d 
3. 启动脚本示例 
4. 关于rc.local 
5. 关于bash启动脚本 
6. 关于开机程序的自动启动 
1. 关于linux的启动 
init是所有进程的顶层
init读取/etc/inittab,执行rc.sysinit脚本 
(注意文件名是不一定的,有些unix甚至会将语句直接写在inittab中) 
rc.sysinit脚本作了很多工作: 
init $PATH 
config network 
start swap function 
set hostname 
check root file system, repair if needed 
check root space 
.... 
rc.sysinit根据inittab执行rc?.d脚本 
linux是多用户系统,getty是多用户与单用户的分水岭 
在getty之前运行的是系统脚本 
2. 关于rc.d 
所有启动脚本放置在 /etc/rc.d/init.d下 
rc?.d中放置的是init.d中脚本的链接,命名格式是: 
S{number}{name} 
K{number}{name} 
S开始的文件向脚本传递start参数 
K开始的文件向脚本传递stop参数 
number决定执行的顺序 
3. 启动脚本示例 
这是一个用来启动httpd的 /etc/rc.d/init.d/apache 脚本: 
代码: 
#!/bin/bash 
...... 
可以看出他接受start,stop,restart,status参数 
然后可以这样建立rc?.d的链接: 
代码: 
cd /etc/rc.d/init.d && 
ln -sf ../init.d/apache ../rc0.d/K28apache && 
ln -sf ../init.d/apache ../rc1.d/K28apache && 
ln -sf ../init.d/apache ../rc2.d/K28apache && 
ln -sf ../init.d/apache ../rc3.d/S32ap


相关文档:

实战Linux Bluetooth编程(六) L2CAP编程实例

例一:发送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 ......

在linux下 获取本机MAC地址的函数

//获取本机MAC地址函数QString GetLocalMac()
{
int sock_mac;

struct ifreq ifr_mac;
char mac_addr[30];

sock_mac = socket( AF_INET, SOCK_STREAM, 0 );
if( sock_mac == -1)
{
perror("create socket falise...mac\n");
return "";
}

memset(&ifr_mac,0,sizeof(ifr_mac));
......

在linux下 获取,修改子网掩码NETMASK的两个函数

//获取子网掩码的函数QString GetLocalNetMask()
{
int sock_netmask;
char netmask_addr[50];
struct ifreq ifr_mask;
struct sockaddr_in *net_mask;

sock_netmask = socket( AF_INET, SOCK_STREAM, 0 );
if( sock_netmask == -1)
{
perror("create socket failture...GetLocalNetMask\n");
......

Linux Shell笔记 (一)

1、变量和运算  (注:从上往下一步一步执行)
   1.本地变量在用户现在的shell生命期的脚本中使用
   variable-name=value 例如:test="test"
 
   2.set显示本地所有的变量
   3.设成只读变量:readonly variable-name 例如:test="cynric" 会 ......

Linux UDP严重丢包问题的解决


测试系统在Linux上的性能发现丢包率极为严重,发210000条数据,丢包达110000之巨,丢包率超过50%。同等情形下Windows上测试,仅丢几条数据。形势严峻,必须解决。考虑可能是因为协议栈Buffer太低所致,于是先看看默认情况:
sysctl -a |grep net.core
发现
net.core.rmem_max = 131071
net.core.rmem_default = 11264 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号