随笔分类 - Linux
Something about kernel
摘要:pthread 线程池 最近经在在网上看到别人分享的各种优化策略,其中一个就是线程池。与线程池类似的技术还有数据库连接池、HTTP 连接池等等。 线程在创建销毁进行一系列的系统调用,资源分配与回收,在所以频繁创建销毁线程实际上会带来较大的系统开销,那么我们用线程池来统一管理线程就能够很好的解决这种资
阅读全文
摘要:sudo 原理 详细介绍参考这里sudo命令实现原理简析 以下简单介绍下关键的部分! SUID 的概念 What is SUID and how to set it in Linux? SUID (Set owner User ID up on execution) is a special typ
阅读全文
摘要:前述 改博文使用的是 iptables 来做端口映射。如果使用的系统是 Centos/Redhat/Fedora 那么需要关闭 firewalld 服务才能成功。 firewall 与 iptables 两个防火墙的关系,请自行百度。 打开 IP 转发 打开 IP 转发(路由器设备是默认打开的),必
阅读全文
摘要:记录下编译器检查内存问题的一个flag -fsanitize=address,-fno-omit-frame-pointer! 除了valgrind 又有一个很有好的检察工具! 参考 者旨於陽:Linux高级调试与优化——Address Sanitizer Address Sanitizer ASA
阅读全文
摘要:前述: golang 的关键字 defer 给出了一种,延时调用(RAII)的方式来释放资源。但是对于C/C却没有内置这种方便的关键字。对于经常需要手动管理内存的C/C尤其是C程序员这种特性显得无比重要。 这里给出了一种 C/C++ 下模拟实现 defer 的实现方案: 针对 C 语言基于 GCC/
阅读全文
摘要:本文中不涉及线程的文件锁,想了解可以参考 pthread 的man手册。 建议锁、强制锁、记录锁 建议锁 如果某一个进程对一个文件持有一把锁之后,其他进程仍然可以直接对文件进行操作(open, read, write)而不会被系统禁止,即使这个进程没有持有锁。只是一种编程上的约定。建议锁只对遵守建议
阅读全文
摘要:获取当前分辨率 #include<stdio.h> #include<sys/types.h> #include<sys/stat.h> #include<sys/mman.h> #include<sys/ioctl.h> #include<unistd.h> #include<fcntl.h> #
阅读全文
摘要:[toc] ## 信号列表 ```bash root@ubuntu:# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
阅读全文
摘要:有时我们需要程序同时只能有一个实例在运行,或是受于资源限制或是受于锁或者其他原因。因此,需要一种机制在程序启动时候判断是否有别的实例已经在运行。 用bash脚本或者supervisor之类管理工具判断 这种受于程序名字限制。 用文件锁 程序启动时候往文件写入pid或其他信息,退出时释放文件锁。其实本
阅读全文
摘要:Daemon 程序编写 首先是程序运行后调用fork,并让父进程退出。子进程获得一个新的进程ID,但继承了父进程的进程组ID。 调用setsid创建一个新的session,使自己成为新session和新进程组的leader,并使进程没有控制终端(tty)。 改变当前工作目录至根目录,以免影响可加载文
阅读全文

浙公网安备 33010602011771号