【APUE】Chapter8 Process Control】的更多相关文章

这章的内容比较多.按照小节序号来组织笔记的结构:再结合函数的示例带代码标注出来需要注意的地方. 下面的内容只是个人看书时思考内容的总结,并不能代替看书(毕竟APUE是一本大多数人公认的UNIX圣经). 8.2 Process Identifiers 1. unix system给系统分配进程pid采用的是delay reuse策略:即,刚用完被释放的pid不会马上分配给新的进程,目的是防止新进程错误使用与之前进程相同的ID(这块内容还没太懂,以后再看):但具体等多久不一定. 2. 有几个特殊的p…
今天看了APUE的Chapter12 Thread Control的内容,记录一下看书的心得与示例code. 这一章的内容是对Chapter11 Threads(见上一篇日志)的补充,大部分内容都是理论上的分析提点,大概就是告诉读者:你先知道pthread有这么个特性,如果将来遇到了可以去查查. (一)Thread Limits 这里主要介绍了pthread_attr_t的属性变量,可以通过设置属性变来定制化threads的特性(P426). 其中,一个重要的属性就是thread的stack s…
这一章看的比较混乱,可能是因为例子少:再有就是,这一章就是一个铺垫的章节. 9.2 terminal logins 啥叫termnial? 我感觉书上的terminal指的更可能是一些物理设备(keyboard, modem这类的) /etc/ttys里面存着这些终端,一行代表一个终端的信息. 限于基础知识有限,上面的内容可能理解的有误,但是对于terminal logins有一点是可以确定的:计算机事先知道有多少terminals可以logins. 其中BSD Terminal Logins是…
这一章内容是Process的基础准备篇章.这一章的内容都是基于C Programm为例子. (一)进程开始: kernel → C start-up rountine → main function 其中C start-up rountine做的事情中包括:获得command-line arguments & environment 好像还有其他的事情,后面再说. (二)进程结束: 五种normal termination方式: 1. return from main 2. exit 3. _e…
Signal主要分两大部分: A. 什么是Signal,有哪些Signal,都是干什么使的. B. 列举了非常多不正确(不可靠)的处理Signal的方式,以及怎么样设计来避免这些错误出现. 10.2 Signal Concepts 1. Signal的实体就是在头文件中定义的正整数(在我使用的linux系统中在/usr/include/bits/signum.h中),如下: 2. 列举了可能会产生Signal的条件: (1)终端的user的案件操作:如,Ctrl+c,Ctrl+\:由termin…
[C#]无损转换Image为Icon 如题,市面上常见的方法是: var handle = bmp.GetHicon(); //得到图标句柄 return Icon.FromHandle(handle); //通过句柄得到图标 此法的问题是,如果图像是透明背景,那么得到的Icon的边缘就是毛糙的,像是先垫了一层背景色然后再去色的效果,很不如人意,用过的朋友都知道.尚未研究是bmp.GetHicon出的问题,还是Icon.FromHandle有问题,日后有闲心再捣鼓下. 下面给出完美转换方法: /…
这章内容就是“provides a whirlwind tour of the UNIX System from a programmer's perspective”. 其实在看这章内容的时候,已经先看过了Chapter7~Chapter13,回头再看看这样的综述介绍. 1.2 UNIX Architecture 主要就了解下面这张图即可: 在一般UNIX operating system中谁在哪层来调用谁. 1.3 Logging In 操作系统根据/etc/passwd中的信息来判断log…
1. Controller向View传递数据 使用ViewData传递数据[弱类型,字典型ViewDataDictionary] ViewData[“Message_ViewData”] = “ Hello ViewData!”; 在View中读取Controller中定义的ViewData数据,代码如下: @Html.Encode(ViewData["Message_ViewData"])  使用ViewBag传递数据  [动态型,dynamic] 我们在Controller中定义如…
16.1 Introduction Chapter15讲的是同一个machine之间不同进程的通信,这一章内容是不同machine之间通过network通信,切入点是socket. 16.2 Socket Descriptors socket抽象上是一个communication endpoint,具体就是一个int型变量.生成socket的函数如下: int socket(int domain, int type, int protocol) 函数有点儿类似open,即打开一个socket d…
刚上线一个新版本,其中有台电脑打开软件就报[xx的类型初始值设定项引发异常](还好不是一大波电脑,新东西上线就怕哀鸿遍野),如图: 显然是该类型的静态构造函数中抛异常了(红线处就是类名),遂打开该类,其构造函数中唯有一句看起来可能引发异常,即: Process.EnterDebugMode(); //用来开启本进程调试特权(SeDebugPrivilege) 随即把这句放到一个测试程序中,再把测试程序拷到问题电脑上跑,果然是它,抛异常:Win32Exception:并非所有引用的特权或组都分配给…