随笔分类 -  Linux命令&系统

摘要:如果一个线程在一个断点,或者由于其他什么原因停止,此时另外的线程阻塞在一个系统调用。这个时候这个系统调用就有可能会过早的返回。因此我们在调用系统调用,最好都要检测它的返回值。 举个例子: sleep (10); 这个我们应该改成这样: int unslept = 10;while (unslept 阅读全文
posted @ 2017-02-23 16:46 blcblc 阅读(905) 评论(0) 推荐(0) 编辑
摘要:http://simohayha.iteye.com/blog/493091 gdb可以监测在你的程序中的任何信号。 主要靠的命令是: handle signal [keywords...] 这里的keywords可以有以下内容: 1 nostop gdb接收到信号不会停止程序,而只是打印出一段me 阅读全文
posted @ 2017-02-23 16:07 blcblc 阅读(658) 评论(0) 推荐(0) 编辑
摘要:checkpoint的内容参考: http://blog.chinaunix.net/uid-23629988-id-2943273.html 这一篇主要是checkpoint,在next之前加checkpoint命令,然后就可以用 restart 1 来恢复到之前的checkpoint,可以避免从 阅读全文
posted @ 2017-02-23 11:27 blcblc 阅读(629) 评论(0) 推荐(0) 编辑
摘要:看这篇文章: http://blog.csdn.net/bingqingsuimeng/article/details/53694187 服务器负载均衡有三大基本Feature:负载均衡算法,健康检查和会话保持 会话保持,指的是cookie/session等信息,保证一次会话即使发送到其他服务器,也 阅读全文
posted @ 2017-02-23 00:50 blcblc 阅读(182) 评论(0) 推荐(0) 编辑
摘要:注意阻塞和忽略,是有区别的。 阻塞只是暂时的,忽略是就没了。 参数:how:用于指定信号修改的方式,可能选择有三种:SIG_BLOCK //加入信号到进程屏蔽。SIG_UNBLOCK //从进程屏蔽里将信号删除。SIG_SETMASK //将set的值设定为新的进程屏蔽。 set:为指向信号集的指针 阅读全文
posted @ 2017-02-22 23:07 blcblc 阅读(223) 评论(0) 推荐(0) 编辑
摘要:看起来memcache也是用了libevent,然后用了多线程,看起来是accept之后,把socket发给一个worker thread,然后这个thread里面的event loop再接着处理。 http://blog.csdn.net/wallwind/article/details/3927 阅读全文
posted @ 2017-02-22 18:43 blcblc 阅读(229) 评论(0) 推荐(0) 编辑
摘要:这张图很好,注意其中最上面是高位地址,虽然很多个0,但是c开头的,不要看反了: 更具体的可以看这里: A.正文段。这是由cpu执行的机器指令部分。通常,正文段是可共享的,所以即使是经常执行的程序(如文本编辑程序、C编译程序、shell等)在存储器中也只需要有一个副本,另外,正文段常常是只读的,以防止 阅读全文
posted @ 2017-02-19 15:20 blcblc 阅读(948) 评论(0) 推荐(0) 编辑
摘要:服务器编程 P347的压力工具代码不错,对于epoll用的好,可以看。 阅读全文
posted @ 2017-02-06 22:48 blcblc 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-02-05 16:44 blcblc 阅读(1130) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/bingqingsuimeng/article/details/9055499 管道pipe是半双工的,pipe两次才能实现全双工,使得代码复杂。socketpair直接就可以实现全双工。 socketpair对两个文件描述符中的任何一个都可读和可写,而pi 阅读全文
posted @ 2017-02-05 16:01 blcblc 阅读(1941) 评论(0) 推荐(1) 编辑
摘要: 阅读全文
posted @ 2017-02-05 14:57 blcblc 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-02-05 14:47 blcblc 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-02-05 13:37 blcblc 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-02-05 12:49 blcblc 阅读(376) 评论(0) 推荐(0) 编辑
摘要:shmget函数用于创建或打开一个共享内存区对象,shmget成功调用会返回一个共享内存区的标识符,供其它的共享内存区操作函数使用。 key:用于创建共享内存区的键值,这个在前面其他System IPC创建的时候已经讨论过了,System IPC都有一个key,作为IPC的外部标识符,创建成功后返回 阅读全文
posted @ 2017-02-05 12:46 blcblc 阅读(408) 评论(0) 推荐(0) 编辑
摘要:如果采用 void sig_chld(int signo) { pid_t pid; int stat; while((pid = waitpid(-1, &stat, WNOHANG)) > 0){ printf("child %d terminated\n", pid); } return; } 阅读全文
posted @ 2017-02-04 21:56 blcblc 阅读(636) 评论(0) 推荐(0) 编辑
摘要:分布式存储的应用场景相对于其存储接口,现在流行分为三种: 对象存储: 也就是通常意义的键值存储,其接口就是简单的GET、PUT、DEL和其他扩展,如七牛、又拍、Swift、S3 块存储: 这种接口通常以QEMU Driver或者Kernel Module的方式存在,这种接口需要实现Linux的Blo 阅读全文
posted @ 2017-02-04 00:02 blcblc 阅读(1133) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-02-02 03:30 blcblc 阅读(316) 评论(0) 推荐(0) 编辑
摘要:对于多线程,如果希望让其他线程不执行,只有调试线程执行,使用 set scheduler-locking [on|off|step] 阅读全文
posted @ 2017-02-02 00:13 blcblc 阅读(2287) 评论(0) 推荐(0) 编辑
摘要:参考 https://zhuanlan.zhihu.com/p/20768200?refer=auxten 而成本很多时候的体现就是对计算资源的消耗,其中最重要的一个资源就是CPU资源。 Sendfile(2)在这个时代背景下于2003年前后被加入Linux Kernel,陆续在各大UNIX、Lin 阅读全文
posted @ 2017-01-22 22:58 blcblc 阅读(2768) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示