linux
文章平均质量分 62
zhang-guojun
这个作者很懒,什么都没留下…
展开
-
pthread的各种同步机制
原文载于https://casatwy.com/pthreadde-ge-chong-tong-bu-ji-zhi.html简述pthread是POSIX标准的多线程库,UNIX、Linux上广泛使用,windows上也有对应的实现,所有的函数都是pthread打头,也就一百多个函数,不是很复杂。然而多线程编程被普遍认为复杂,主要是因为多线程给程序引入了一定的不可预知性,要控制这些不可预知性,就需...转载 2018-03-03 01:37:06 · 484 阅读 · 0 评论 -
Ubuntu 在合上笔记本盖子不能远程重启的问题
Ubuntu 在合上笔记本盖子不能远程重启的问题原创 2014-04-24 14:42:40 · 2818 阅读 · 0 评论 -
How to use list from sys/queue.h?
LIST_ENTRY creates fields to put into your structure that are suitable for linking the elements, so you do not have to concern yourself with the specifics of those pointers.struct foo { int a, b转载 2014-02-06 19:14:30 · 1276 阅读 · 0 评论 -
select,poll,epoll简介
select,poll,epoll简介selectselect本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是:1 单个进程可监视的fd数量被限制2 需要维护一个用来存放大量fd的数据结构,这样会使得用户空间和内核空间在传递该结构时复制开销大3 对socket进行扫描时是线性扫描转载 2014-01-20 16:18:19 · 747 阅读 · 0 评论 -
Linux中keepalive的使用
/proc/sys/net/ipv4/tcp_keepalive_time 当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时。 /proc/sys/net/ipv4/tcp_keepalive_intvl 当探测没有确认时,重新发送探测的频度。缺省是75秒。 /proc/sys/net/ipv4/tcp_keepalive_probes 在认定连转载 2014-01-16 18:48:05 · 6043 阅读 · 1 评论 -
C语言之尾队列tailq
queue和list的结构定义和操作都在'sys/queue.h'中完成, 主要定义了下面四种数据结构:单向列表(single-linked lists)单向尾队列(single-linked tail queue)列表(lists)尾队列(tail queues)尾队列图示 尾队列常用宏宏名称操作转载 2014-01-22 17:29:58 · 6235 阅读 · 1 评论 -
深入理解TAILQ队列
工作的主要内容是tcp/ip,平台是FreeBSD,而且在内核态开发,所以很多情况下会涉及内核的一些数据结构和宏,比如说mbuf和TAILQ等。 TAILQ是FreeBSD/linux内核对双向队列操作的一种抽象,抽象程度不亚于C++,能实现操作队列需要的各种操作:插入元素,删除元素,遍历队列等。这个队列的优点是插入元素很快。 这里先回顾一下队列的特点(来自维基百科 http://zh.wik转载 2014-01-22 14:05:41 · 2550 阅读 · 2 评论 -
使用OpenSSL生成证书
Step 1. Create key (password protected) openssl genrsa -out prvtkey.pem 1024/2038 (with out password protected) openssl genrsa -des3 -out prvtkey.pem 1024/2048 (pa转载 2013-12-09 18:49:41 · 1298 阅读 · 0 评论 -
Ubuntu上用proftpd构建FTP服务器(Ubuntu12.10适用)
走近Ubuntu 之十二 用proftpd构建FTP服务器 FTP是网络常用服务之一,比较好的服务器软件有vsftp、proftpd、pureftpd等,我断章取义了,pro,显得专业一些,正所谓不求最好,只求最专业嘛...哈哈....一、安装sudo apt-get install proftpd转载 2012-12-19 09:51:44 · 1974 阅读 · 0 评论 -
让非root用户有权限访问USB串口设备。
创建ttyUSB权限规则文件etc/udev/rules.d/70-ttyUSB.rulesKERNEL=="ttyUSB*", OWNER="root", GROUP="root", MODE="0666"原创 2013-11-01 10:48:29 · 4413 阅读 · 3 评论 -
Ubuntu上架设PPPoE Server
Ubuntu上架设PPPoE Server一。安裝 PPPoE Server Software1)sudo apt-get install ppp2)rp-pppoe(非apt套件)wget -c http://www.roaringpenguin.com/files/download/rp-pppoe-3.10.tar.gzsudo tar zxvf rp-pppoe-3转载 2014-05-17 12:00:00 · 1094 阅读 · 0 评论 -
Ubuntu DNS server 设置
一、 DNS说明 DNS使用端口号:53 正解与反解说明: 正解:通过Domain(DNS下的hostname)应射IP;通过hostname去找IP 反解:通过IP反查hostname Zone(区域):一个正解或一个反解的设定就是一个zon转载 2014-08-30 17:00:03 · 3363 阅读 · 0 评论 -
Ubuntu 命令行下连接到无线网络
Ubuntu 下连接无线网络,我知道的有两种办法第一种是用 iwconfig 命令,但是这个命令在连接时经常报错,然后无法连接,这里便不做说明了。第二种是使用 wpa_cli (注:我碰到的情况是,这个命令只可以在恢复模式下的shell中使用,在gnome桌面中是不管用的)操作步骤:shell 中输入 wpa_cli 进入交互,然后输入add_netwo转载 2014-12-25 22:18:26 · 12972 阅读 · 3 评论 -
如何使用epoll?一个完整的C例子
网络服务器传统上采用每个连接使用一个进程/线程的方式实现。但是由于资源使用和上下文切换时间等因素的影响,限制了服务器的并发能力,因此这种实现方式不适合那些需要处理并发的大量客户端请求的高性能应用。一个解决办法是在单线程上使用非阻塞I/O,以及准备就绪通知方法,它在可以从套接字上读或写更多数据时通知你。本文介绍Linux的 epoll 机制,它是Linux下最好的准备就绪通知机制。我们将用C给出转载 2017-11-26 14:26:15 · 1360 阅读 · 1 评论 -
Ubuntu 16.04 – Configure your system to have x11vnc running at startup
Hello World;Today, we continue our journey into the next to come release of Ubuntu (i.e. Ubuntu 16.04) and remote desktop connections. In the previous posts, we have updated the procedure to perfo转载 2017-10-31 13:56:01 · 779 阅读 · 0 评论 -
我见过最好的vsftpd配置教程
转载自安装安装Vsftpd服务相关部件:[root@KcentOS5 ~]# yum install vsftpd*Dependencies Resolved================================================Package Arch Version Repository S转载 2017-03-29 10:21:59 · 1369 阅读 · 0 评论 -
How to Setup a TFTP Server Under CentOS/RHEL 6
转载之:https://packetzone.wordpress.com/2013/10/31/how-to-setup-a-tftp-server-under-centosrhel-6/How to Setup a TFTP Server Under CentOS/RHEL 6October 31, 2013 bypzone115Why bother with转载 2017-01-31 01:30:08 · 524 阅读 · 0 评论 -
内存问题排查手段及相关文件介绍
5.内存问题排查手段及相关文件介绍【重点】对于内存问题排查,或者OOM问题排查,一般会涉及到如下文件,下面将如下文件的分析和设置介绍一下,这也是本文档的重点,后面排查内存信息还是要根据这些文件信息来排查。其实未必是有内存泄露,也可能是一些策略有问题,比如线程数目的增加,buffer的申请、释放时间交集等。5.1 /proc/sys/vm/min_free_kbytesmin_fre转载 2016-06-16 23:12:56 · 4574 阅读 · 0 评论 -
linux 分区信息查询
如果只是查看分区名等信息,无需fdisk等工具的使用,可以直接访问下来两个命令来获得。cat /proc/partitionsmajor minor #blocks name 8 0 30277632 sda 8 1 30273600 sda1cat /proc/diskstats 8 0 sda 5 31原创 2016-02-22 01:28:20 · 665 阅读 · 0 评论 -
栈调用关系跟踪
在发生段错误的时候,打印函数的调用栈信息是定位问题很好的手段,一般来讲,我们可以捕获SIGSEGV信号,在信号处理函数中将函数调用栈的关系打印出来。gdb调试中的backtrace,简称bt就是这个作用。 CU的二娃子前两天写了个Linux下进程崩溃时定位源代码位置,这篇文章写的很好,调用的GNU的backtrace函数,打印了函数的调用栈信息。我想补充一些内容,把这转载 2016-02-02 10:43:24 · 743 阅读 · 0 评论 -
Makefile经典教程(掌握这些足够)
makefile很重要 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写make转载 2015-09-09 23:07:52 · 2464 阅读 · 0 评论 -
Ubuntu auth fail when use WPA2 Enterprise PEAP
root cause is client check server's certification, but valid. Ubuntu bug, it should ignore the certification check.A workaround is to remove the linesystem-ca-cert=truefrom the configurat转载 2015-02-25 09:08:25 · 1339 阅读 · 0 评论 -
ubuntu 在非root用户下抓包设置
sudo dpkg-reconfigure wireshark-common “Should non-superusers be able to capturepackages?” 选择Yes(默认是no)在组策略中会出现wireshark组,默认没有任何用户属于这个组,只需把特定的用户加入组中(需要注销后重新登录来使设置生效)就可以以该用户来运行wiresha原创 2013-11-01 10:41:25 · 1694 阅读 · 1 评论 -
ubuntu下命令行连接wifi
使用iwconfig命令:搜索无线网 iwlist wlan0 scan记下essid连接无密码的无线网 iwconfig wlan0 essid ChinaNet 其中ChinaNet是搜索到的无线网essid连接有密码的无线网 iwconfig wlan0 essid ChinaNet key xxxx 其中xxxx是密码启用无线网卡 ifconfig wlan0 up转载 2012-12-17 23:56:19 · 56491 阅读 · 11 评论 -
GATEWAY获取与设置(Linux C)
#include #include #include #include #include #include #include #include #include #include int set_gateway(unsigned long gw) { int skfd;转载 2012-01-02 15:47:39 · 3075 阅读 · 0 评论 -
netlink套接字的使用
作者: Kevin He on wed,2005-01-05 02:00原文: Kernel Korner – Why and How to Use Netlink Socket翻译: Ricky Goo (http://cn.iventor.org/people.html#ricky)网址: http://cn.iventor.org/forum/viewtopic.转载 2011-12-14 10:25:01 · 6506 阅读 · 0 评论 -
3G卡片在开发板上的详细解决方法(适用于大多数3G卡片)
转载一篇写得非常棒的关于Linux系统使用3G卡作上行链路的解决方案。原文地址:http://blog.csdn.net/ipromiseu/article/details/5154004非常感谢原作者的无私奉献3G卡片在开发板上的详细解决方法(适用于大多数3G卡片)Anson Luo /Gray Luo(罗国辉)一. 环境1. 开发板内核:linux ke转载 2011-12-19 11:07:06 · 1022 阅读 · 0 评论 -
Centos wifi card driver install
centos only very less of wireless wifi card in default, we need to install for most wifi cards.fortunately, the website ELREPO(elrepo.org) already have compiled for us.we can see which driver原创 2011-12-16 10:12:20 · 1342 阅读 · 0 评论 -
在Centos下安装Firefox 4简单过程
Centos下自带的firefox版本有点低了,有些插件无法安装,于是升级firefox的简单过程如下:(下载的是火狐中国版)1.首先从官网下载最新的火狐版本:http://firefox.com.cn/2.解压: tar -xjvf xxxx.tar.bz2 -C /usr/local3.替换原有的 firefox 命令 # which firefox /usr/转载 2011-12-17 18:10:12 · 4949 阅读 · 0 评论 -
linux中强大且常用命令:find、grep
在linux下面工作,有些命令能够大大提高效率。本文就向大家介绍find、grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们。本文结构如下:find命令 find命令的一般形式 find命令的常用选项及实例 find与xargs grep命令 grep命令的一般形式 grep正则表达式元字符集(基本集)grep命令的常用选项及实例 1、fi转载 2011-12-10 11:20:20 · 838 阅读 · 0 评论 -
CentOS 163源
替换默认源为163源:wget http://mirrors.163.com/.help/CentOS5-Base-163.repomv CentOS5-Base-163.repo /etc/yum.repos.d/mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bakyum makeca转载 2011-11-29 13:55:15 · 729 阅读 · 0 评论 -
Debian 6 安装小记
Debian 6 安装小记07.31.2011 · Posted in LAMP上个月入手了mac,就把thinkpadr400冷落了蛮久。想着太浪费了,于是想着开始折腾系统。最开始是考虑unix中的freebsd, openbsd, netbsd,后来觉得还是回转载 2011-10-08 09:59:27 · 1156 阅读 · 0 评论 -
Centos Development Tools 安装
yum groupinstall "Development Libraries"yum groupinstall "Development Tools"yum install ncurses-devel zlib-devel texinfo gtk+-devel gt原创 2011-09-05 00:08:24 · 23501 阅读 · 1 评论 -
busybox add or delete route
busybox route add default gw xxx.xxx.xxx.xxxbusybox route del default gw xxx.xxx.xxx.xxxroute add -net xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx dev eth0(dev name)route del -netxxx原创 2012-01-15 15:49:39 · 9630 阅读 · 0 评论 -
红帽RHEL5U4平台实现pppoe+freeradius+mysql认证服务器
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://ourlinux.blog.51cto.com/274624/389145软件需求: 红帽自带的:rp-pppoe,ppp,freeradius,freeradius-mysql,mysql,mysql-devel,mysql-serve转载 2012-04-10 15:47:33 · 1870 阅读 · 0 评论 -
linux定时运行命令
linux定时运行命令1.命令简介 每个用户都有各自不同的计划任务列表,用各自的帐户登录后运行 crontab -l 就可查看到各任务的计划任务情况,使用下列命令可以修改自己的计划任务 crontab -e 每次添加完任务后,一定记得重新启动crond服务,不然不会生效转载 2012-05-24 10:04:17 · 769 阅读 · 0 评论 -
linux screen 命令详解
linux screen 命令详解一、背景系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。二、简转载 2013-08-08 10:44:32 · 1161 阅读 · 0 评论 -
ubuntu 12.10 上安装配置freeradius
A) freeradius安装sudo apt-get install freeradiusB)添加用户sudo vim /etc/freeradius/userstest Cleartext-Password := "5678"C)配置client 网段sudo vim /etc/freeradius/clients.confclien原创 2012-12-19 17:38:40 · 4416 阅读 · 0 评论 -
ubuntu 12.10 上安装tftp-hpa
1)安装tftp-hpa,tftpd-hpa, xinetdsudo apt-get install tftp-hpa , tftpd-hpa, xinetd2) 在/etc/xinetd.d/下创建并配置tftp文件sudo vim /etc/xinetd.d/tftpservice tftp{ socket_type = dgram prot原创 2012-12-18 14:05:32 · 4260 阅读 · 1 评论 -
Ubuntu 添加新用户并制定目录和shell,并配置为root组用户|sudoer 修改
ubuntu新建的用户并没有新建相应的home目录和对应的shell环境。 下面就总结一下如何的在ubuntu下建立用户并配置新的shell。 涉及的命令有useradd , userdel, usermod. 1. root@yw-desktop:/home# useradd -r -m -s /bin/bash yuanwei转载 2013-07-30 10:59:17 · 9006 阅读 · 0 评论