
Unix环境编程
文章平均质量分 72
Virtual_Func
小风扇吹风好吵
展开
-
epoll使用详解(精髓)
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且转载 2015-08-14 22:27:37 · 399 阅读 · 0 评论 -
C/C++改变终端输出字体的颜色(Linux)
简单的说就是ESC[*m,ESC的八进制为\033,*可以是多个属性的组合,用分号隔开。例:#includeint main(){ printf("\033[31mThis is RED.\n\033[0m"); return 0;}31m代表字体为红色,0m代表关闭所有属性。常用的ANSI控制码如下(有些转载 2015-08-16 22:01:30 · 6273 阅读 · 0 评论 -
一个Linux下C线程池的实现
什么时候需要创建线程池呢?简单的说,如果一个应用需要频繁的创建和销毁线程,而任务执行的时间又非常短,这样线程创建和销毁的带来的开销就不容忽视,这时也是线程池该出场的机会了。如果线程创建和销毁时间相比任务执行时间可以忽略不计,则没有必要使用线程池了。 下面是Linux系统下用C语言创建的一个线程池。线程池会维护一个任务链表(每个CThread_worker结构就是一个任务)。转载 2015-08-21 17:23:52 · 457 阅读 · 0 评论 -
Windows 下实现线程局部存储
以下叙述的仅是Windows NT,XP 等系统下实现线程局部存储的一个思路,并不是绝对的实现方法。线程局部存储(Thread Local Storage,TLS),是多线程普及的情况下一个很有用的机制,该机制使得线程可以使用属于自己的全局变量。只需要在一个全局变量的定义前加上相应的关键字,即可指定一个全局变量为TLS属性的。GCC:__thread int number;Window原创 2015-10-26 23:23:44 · 1325 阅读 · 0 评论 -
linux启动是自动加载的几个文件说明bashrc等 .
linux启动是自动加载的几个文件说明bashrc等(1)/etc/profile全局(公有)配置,不管是哪个用户,登录时都会读取该文件。(2)/ect/bashrcUbuntu没有此文件,与之对应的是/ect/bash.bashrc它也是全局(公有)的bash执行时,不管是何种方式,都会读取此文件。(3)~/.profile若bash是以login方式执行转载 2016-05-10 20:52:09 · 1589 阅读 · 0 评论 -
linux粘着位的作用
文章转自:点击打开链接我们先来看看chmod()函数的原型: #include #include int chmod(const char *pathname,mode_t mode); 其第一个常数是路径名,用来指定需要修改权限位的文件,我们这里要注意的是第二个常数,它是mode_t类型,*_t意味着它是原始系统数据类型(primitive system type转载 2016-04-28 19:33:33 · 2199 阅读 · 0 评论 -
shell中的IFS和$*变量
本文转载自http://blog.chinaunix.net/uid-22566367-id-381955.html不得不说shell里面的全局变量都是些恶心的家伙,特别是这家伙----IFS,恶心之极,差点被它忽悠过去了,所以赶快记录下来,以免下次再被忽悠!!!STRING1="111 222 333 444"echo $STRING1echo "$STRING1转载 2016-04-18 20:06:39 · 648 阅读 · 0 评论 -
getopts命令行参数处理
getopts命令行参数处理一、getopts 简介 由于shell命令行的灵活性,自己编写代码判断时,复杂度会比较高。使用内部命令 getopts 可以很方便地处理命令行参数。一般格式为:getopts options variable getopts 的设计目标是在循环中运行,每次执行循环,getopts 就检查下一个命令行参数,并判断它是否合法。即转载 2016-05-13 20:28:35 · 617 阅读 · 1 评论 -
getopts 的坑
getopts 真的比较坑啊。。。。语言描述不同,以下用例子来体现,对脚本文件 ./test.sh#注意,选项一开始没有冒号while getopts ab:c OPT; do case $OPT in a) echo "a";; b) echo "b : $OPTARG";; c) echo "c";; \?) echo "wr原创 2016-05-13 20:50:03 · 629 阅读 · 0 评论