notebook 3

来源:互联网 发布:知乎开放婚姻体验 编辑:程序博客网 时间:2024/04/28 05:24

sysctl -a| grep "syn"

sysconf  ser

进程环境,

交给用户配置

可靠数据报

setsocketopt

多路复用IO  select poll

信号驱动IO    sigIO


1.绑定本地所有IP 0.0.0.0 ,用那个IP访问都可以

2,的bind的时候如果要接听本地所有IP可以设置//local_ipv4_address.sin_addr.s_addr = INADDR_ANY;

等待两倍的MsI超时,可以设置setsockopt 的 地址,端口重用(linux不支持),地址重用

 apue 第二章 ,语言移植,系统,平台,注意可描述型

   vi 替换:   :%s/   \<fd\> /listening_socket   /g


       fork 子进程必须(exit())退出情况,在While 中,

       线程,默认

        分离,

        非分离,要做join

         如何给线程传参数

        线程成功返回0,出错返回错误号


ftp://ftp.hxu.edu.cn/pub/Books/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/


       注意信号的捕获,

       wait()

       非实时信号,

       实时信号,

telnet nc

netstat -l

lsof -n |grep "servers"

vi  /etc/server

unix 环境高级  

  tcp/ip想借

unix 网路遍程


广播设置一个 sockopt ,授线广播,不能离开当前子网 255.255.255.255,子网广播


多播 224--239.0.0.0,开始的D类ip主要设置setsockopt 加入一个

1110  28个0

不属于组可以各组发信息,




netstat -g

多播最早在驱动成,最玩在ip丢,

广播在Udp丢




注意:对于signal来说,不改变信号处理方式就不能确定信号的当前处理方式。

    5.信号处理函数在通过fork产生子进程中是否有效?

     当一个进程调用fork时,子进程继承父进程的信号处理方式。因为子进程复制了父进程的存储映像,所以信号处理函数的地址在子进程中是有意义的。


    8.可重入函数(Reentrant Functions)

     当一个信号量被捕捉并执行相应的处理程序后,进程将继续执行。我们无法确定此时进程执行到何处,当进程执行到malloc,而在信号处理函数中同样存在malloc则有可能发生错误。则malloc就是非可重入函数。


    大多数的非可重用函数有如下特征:

     o 使用静态数据结构

     o 调用malloc或free

     o 标准IO库的一部分

     应当了解,即使我们在信号处理函数中调用了可重入函数,由于在每一个线程中仅有一个errno,而main函数可能设置了这个值。因此,需要在调用信号处理函数之前保存errno,在信号处理函数之后恢复errno值。

  10.什么是信号屏蔽字(signal mask)?

     规定了当前要阻塞递送到该进程的信号集。对于每种可能的信号,该屏蔽字中都有一位与之对应。对于某种信号,如果其对应位以设置,则它当前是被阻塞的。进程可以调用sigprocmask来检测和更改其当前信号屏蔽字。


一个进程发送信号量给另外一个进程需要权限。超级用户有权发送信号给任意一个进程,而对于其它的进程,基本的规则是:real or effective ID of the sender has to equal the real or effective user ID of the receiver.


13.如何检测一个进程是否存在?

    POSIX.1 定义了0作为null信号。若kill函数的signo参数为0,kill将执行普通的差错检测,但将不会发送任何信号。这通常被用于检测一个进程是否存在。如果我们向一个不存在的进程发送null信号,kill将返回-1,并将errno设置为ESRCH。注意,unix系统会在一定时间后回收进程ID,所以具有特定进程ID的进程不一定是你认为的那个进程。

    进程存在性测试并不是原子操作。当kill返回时,被测试的进程可能已经存在了,所以该测试并无多大价值。

http://blogread.cn/it/article.php?id=3344#q4


原创粉丝点击