![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux环境
vonmax007
To achieve victory we must mass our forces at the hub of all power & movement.The enemy's 'center of gravity'----Von Clausewitz
展开
-
深入理解非阻塞同步IO和非阻塞异步IO
这两篇文章分析了Linux下的5种IO模型 http://blog.csdn.net/historyasamirror/article/details/5778378http://blog.csdn.net/hguisu/article/details/7453390很多人对阻塞 / 非阻塞, 同步 / 异步 的概念理解的不深入,搞不清楚非阻塞和异步IO的区别,笼统的认为非阻塞IO就是异步IO。其转载 2017-09-23 02:15:44 · 403 阅读 · 0 评论 -
Socket编程之htons(), ntohl(), ntohs(),htons() 函数
在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题。这是就可能用到htons(), ntohl(), ntohs(),htons()这4个函数。网络字节顺序与本地字节顺序之间的转换函数: htonl()--"Host to Network Long" ntohl()--"Network to Host Long" htons()--"Host to Net转载 2017-08-15 21:26:32 · 2944 阅读 · 0 评论 -
grep命令使用-正则表达式
原文地址:http://blog.sina.com.cn/s/blog_476d8cf30100tmcn.html1. grep简介 grep (global search regular expression_r(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的gre转载 2017-08-14 16:08:21 · 6169 阅读 · 0 评论 -
物理CPU,物理CPU核心,逻辑CPU,超线程
总核数 = 物理CPU个数 * 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 X 超线程数cat /proc/cpuinfo | moreprocessor : 0 —–逻辑CPU的唯一标识符vendor_id : GenuineIntel —标识英特尔处理器cpu family : 6model原创 2017-08-13 23:21:04 · 5425 阅读 · 0 评论 -
Linux后台开发具备能力集锦
Linux后台开发应该具备技能一、linux和os:1、命令:netstat tcpdump ipcs ipcrm 这四个命令的熟练掌握程度基本上能体现实际开发和调试程序的经验2、cpu 内存 硬盘 等等与系统性能调试相关的命令必须熟练掌握,设置修改权限 tcp网络状态查看 各进程状态 抓包相关等相关命令 必须熟练掌握3、awk sed需掌握4、共享内存的使用实现原理、然后共享内存段被映射进进程空转载 2017-08-20 01:59:31 · 305 阅读 · 0 评论 -
阻塞非阻塞与同步异步的区别
老张爱喝茶,废话不说,煮开水。 出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。 1 老张把水壶放到火上,立等水开。(同步阻塞) 老张觉得自己有点傻 2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞) 老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种水壶。水开之后,能大声发出嘀~~~~的噪音。 3 老张把响水壶放到火上,立等原创 2017-08-20 01:00:58 · 329 阅读 · 0 评论 -
Linux分析apache日志获取最多访问的前10个IP
apache日志分析可以获得很多有用的信息,现在来试试最基本的,获取最多访问的前10个IP地址及访问次数。既然是统计,那么awk是必不可少的,好用而高效。命令如下:awk '{a[$1] += 1;} END {for (i in a) printf("%d %s\n", a[i], i);}' 日志文件 | sort -n | tail首先用awk统计出来一个列表,然后用sort转载 2017-08-18 22:24:07 · 519 阅读 · 0 评论 -
进程之间与线程之间的通信
序本文主要是为了总结操作系统里面的进程与线程通信。操作系统的主要任务是管理计算机的软件、硬件资源。现代操作系统的主要特点是多用户和多任务,也就是程序的并行执行,windows如此linux也是如此。所以操作系统就借助于进程来管理计算机的软、硬件资源,支持多任务的并行执行。要并行执行就需要多进程、多线程。因此多进程和多线程间为了完成一定的任务,就需要进行一定的通信。而线程间通信又和进程间的通信不同原创 2017-07-25 19:20:15 · 5751 阅读 · 0 评论 -
系统进程总结
抢占式和非抢占式进程的区别非抢占式(Nonpreemptive) 让进程运行直到结束或阻塞的调度方式 容易实现 适合专用系统,不适合通用系统 抢占式(Preemptive) 允许将逻辑上可继续运行的在运行过程暂停的调度方式 可防止单一进程长时间独占CPU 系统开销大(降低途径:硬件实现进程切换,或扩充主存以贮存大部分程序)linux系统下抢占式内核与非抢占式内核的区别内核抢原创 2017-07-25 19:15:00 · 5119 阅读 · 0 评论 -
如何用命令将本地项目上传到git
1、(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库git init2、把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件git add .3、用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明git commit -m 'first commit'4、关联到原创 2017-05-27 15:41:57 · 3940 阅读 · 0 评论 -
函数的调用规则(__cdecl,__stdcall,__fastcall,__pascal)
关于函数的调用规则(调用约定),大多数时候是不需要了解的,但是如果需要跨语言的编程,比如VC写的dll要delphi调用,则需要了解。 microsoft的vc默认的是__cdecl方式,而windows API则是__stdcall,如果用vc开发dll给其他语言用,则应该指定__stdcall方式。堆栈由谁清除这个很重要,如果是要写汇编函数给C调用,一定要小心堆栈的清除工作,如果转载 2017-08-30 11:14:20 · 292 阅读 · 0 评论