linux
文章平均质量分 82
shankusu2017
go lua c 服务器开发 shankusu2017.github.io
展开
-
深度理解select、poll和epoll,IO多路复用模型实现机制
以下内容转载自https://www.toutiao.com/i6588439740461089287/在linux 没有实现epoll事件驱动机制之前,我们一般选择用select或者poll等IO多路复用的方法来实现并发服务程序。在大数据、高并发、集群等一些名词唱得火热之年代,select和poll的用武之地越来越有限,风头已经被epoll占尽。select()和poll() IO多路复用模型select的缺点:单个进程能够监视的文件描述符的数量存在最大限制,通常是1024,当然可以更改.转载 2021-02-16 00:16:00 · 265 阅读 · 0 评论 -
IO模式和IO多路复用(阻塞IO、非阻塞IO、同步IO、异步IO等概念)
以下内容转载自https://www.toutiao.com/i6586081000172814856/网络编程里常听到阻塞IO、非阻塞IO、同步IO、异步IO等概念,总听别人装13不如自己下来钻研一下。不过,搞清楚这些概念之前,还得先回顾一些基础的概念。回到顶部1 基础知识回顾注意:咱们下面说的都是Linux环境下,跟Windows不一样哈~~~1.1 用户空间和内核空间现在操作系统都采用虚拟寻址,处理器先产生一个虚拟地址,通过地址翻译成物理地址(内存的地址),再通过总线的传递,.转载 2021-02-16 00:14:15 · 398 阅读 · 0 评论 -
linux 线程同步 互斥锁、条件变量、读写锁、自旋锁、信号量
以下内容转载自https://www.toutiao.com/i6850002300325347843/linux技术栈2020-07-16 17:07:24一、互斥锁(同步) 在多任务操作系统中,同时运行的多个任务可能都需要使用同一种资源。这个过程有点类似于,公司部门里,我在使用着打印机打印东西的同时(还没有打印完),别人刚好也在此刻使用打印机打印东西,如果不做任何处理的话,打印出来的东西肯定是错乱的。 在线程里也有这么一把锁——互斥锁(mutex),互斥锁是一种简单的加锁的方法来控.转载 2021-02-14 23:13:26 · 221 阅读 · 0 评论 -
进程内存管理初探
以下内容转载自https://www.toutiao.com/i6837681590143812109/布道师Peter2020-06-13 12:16:45随着cpu技术发展,现在大部分移动设备、PC、服务器都已经使用上64bit的CPU,但是关于Linux内核的虚拟内存管理,还停留在历史的用户态与内核态虚拟内存3:1的观念中,导致在解决一些内存问题时存在误解。例如现在主流的移动设备操作系统Android,经常遇到进程使用大量内存导致被lmk杀死,分配不到内存而触发OOM/ANR,或..转载 2021-02-14 21:58:31 · 286 阅读 · 0 评论 -
printf的归宿-数据打印到哪儿了
以下内容转载自https://www.toutiao.com/i6857334180586455565/转自《Linux阅马场》近日在一次测试Linux内核路由查找算法的过程中,发现一个printf语句竟然能将性能降低2/3。当然,使用“竟然”一词并不意味着这个问题是第一次发现,我的想法是,把它记录下来,让没有经验的同学对printf知其所以然,同时导出我对“性能攸关”的这类算法中记录日志的一个观点。声明我不会把大段的源代码贴在文章中,而只是希望能通过阐述原理把我的意思表达清楚。诚然,.转载 2021-02-04 13:01:40 · 254 阅读 · 0 评论 -
Linux 命令工具 源码
以下内容转载自https://www.toutiao.com/i6919113230396850701/首先,我们需要了解Linux下的命令分为大致分为两类:内置命令与非内置命令。查看内置命令源码内置命令是Shell自带的, shell自己进行管理。 内部命令由shell程序识别并在shell程序内部完成运行。 比如cd命令就是一个内置命令。我们可以通过help命令(help也是内置命令)来查看内置命令有哪些:查看系统当前使用的shell:我这里的shell用是ba...转载 2021-02-04 12:50:01 · 846 阅读 · 0 评论 -
ubuntu history 命令详解
以下内容转载自https://blog.csdn.net/m0_38020436/article/details/78730631设置linux系统history相关变量,命令时间、保存history条数,多session共享history一、设置历史记录的时间# vi /etc/profile //在文件末尾添加以下内容,然后保存退出重新登陆即可HISTTIMEFORMAT='%F %T ' //注意有个空格,为了显示时日期与命令之间有空格分割。HISTSIZE="300.转载 2020-12-04 11:35:35 · 4120 阅读 · 0 评论 -
nc netcat 命令简介
以下内容转载自原文 https://www.oschina.net/translate/linux-netcat-commandnetcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据。通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它。使用netcat命令所能完成的事情令人惊讶。netcat所做的就是在两台电脑之间建立链接并返回两个数据流,在这之后所能做的事就看你的想像力了。你能建立一个服务器,传输文件,与朋友聊天,传输流媒体或者用它作为其它协议的独立客户端。下面是.转载 2020-12-03 16:22:10 · 284 阅读 · 0 评论 -
/bin/bash^M: bad interpreter解决方法
我是在windows下保存了一个脚本文件,用ssh上传到centos,并执行。但执行的时候出现了这句错误/bin/bash^M: bad interpreter1网上找了资料才知道如果这个脚本在Windows下编辑过,就有可能被转换成Windows下的dos文本格式了,这样的格式每一行的末尾都是以\r\n来标识,它的ASCII码分别是0x0D,0x0A。如果你将这个脚本文件直接放到Linux上执行就会报/bin/bash^M: bad interpreter错误提示。解决方法很简单,转载 2020-11-22 23:39:36 · 1094 阅读 · 0 评论 -
ubuntu 当前服务和监听端口
转载自https://www.jianshu.com/p/d2cd1740fab0有几种方法来查看当前服务和端口1、使用lsof命令axing@ax:/usr/local$ sudo lsof -i -P -n | grep LISTENnrpe 1243 nagios 4u IPv4 15903 0t0 TCP *:5666 (LISTEN)nrpe 1243 nagios 5u IPv6 15904 ..转载 2020-10-16 18:46:30 · 7413 阅读 · 1 评论 -
gcc4.4.7 升级到4.8.2支持std=c11/gun++11 centos 6.9环境
方法一:源码安装.下载源码https://ftp.gnu.org/gnu/gcc/找到4.8.2解压 tar -jxvf gcc-4.8.2.tar.bz2.下载供编译需求的依赖项参考文献[1]中说:这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。cd gcc-4.8.0 ./contrib/download_prerequisites.建立一个目录供编译出的文件存放mkdir gcc-build-4.8.2cd gcc-build-4...原创 2020-08-13 13:09:22 · 720 阅读 · 0 评论 -
tar 命令详解
tar 命令[root@linux ~]#tar [-cxtzjvfpPN] 文件与目录 ....Usage: tar [OPTION...] [FILE]...Examples: tar -cf archive.tar foo bar # Create archive.tar from files foo and bar. tar -tvf archive.tar # List all files in a...转载 2020-08-07 10:23:56 · 422 阅读 · 0 评论 -
autoconf 版本升级
安装软件时提示说需要Autoconf 2.64或更高的版本: [root@wslu-cs wslu]# autoconf configure.ac:8: error: Autoconf version 2.64 or higher is required configure.ac:8: the top level autom4te: /usr/bin/m4 failed with exit status: 63 查询当前版本: [root@wslu-cs ws转载 2020-08-05 10:22:43 · 1249 阅读 · 0 评论 -
samba 新增用户
新增用户1.新增Linux用户 useradd userName2.新增samba用户 ./smbpasswd -a userName3.编辑samba配置文件,给上述新增用户设置好参数vim /etc/samba/etc/smb.conf新增如下内容[userName] path = /home/userName/ create mask = 0777 directory mask = 0777 writable = yes ...原创 2020-07-30 12:44:35 · 663 阅读 · 0 评论 -
tar zip
打包 压缩 命令tar ziptar语法#压缩tar-czvf***.tar.gztar-cjvf***.tar.bz2#解压缩tar-xzvf***.tar.gztar-xjvf***.tar.bz2 tar [主选项+辅选项] 文件或目录主选项是必须要有的,它告诉tar要做什么事情。辅选项是辅助使用的,可以选用。tar常用命令:主选项:...转载 2019-09-09 19:51:02 · 32003 阅读 · 0 评论 -
ssh centos服务器端安装 xshell客户端安装
centos 6.5下安装、配置并启动SSH远程访问1.登录centos 6.5系统,使用root用户登录,如果为非root用户则执行su或su - 或su root或su - root切换为root用户。2.查看SSH是否安装(检查是否装了SSH包)。输入命令:rpm -qa | grep ssh如图所示说明centos 6.5系统已经为我们默认安装了SSH包。注:若没安装...转载 2019-09-06 23:05:13 · 476 阅读 · 0 评论 -
centos 有eht2 没有eth0 无法上网
我的环境 centos10. 笔记本虚拟机ifconfig -a 看到有eth2 lo pan0 但是eth2没有被分配ip地址/etc/sysconfig/network-script/下面只有ifcfg-eth0,ifcfg-eth1,没有ifcfg-eth2的配置解决方法1复制一份ifcfg-eth0的拷贝重命名为ifcfg-eth2,注意修改DEVICE字段为eth2重启虚拟机解决方法2查看/etc/udev/rules.d/70-persistent-net..原创 2020-08-08 16:00:30 · 267 阅读 · 0 评论 -
Linux查看网络链接状况命令
linux查看网络链接状况命令 netstat 参数如下: -a 显示所有socket,包括正在监听的。 -c 每隔1秒就重新显示一遍,直到用户中断它。 -i 显示所有网络接口的信息,格式同“ifconfig -e”。 -n 以网络IP地址代替名称,显示出网络连接情形。 -r 显示核心路由表,格式同“ro转载 2017-02-17 08:53:41 · 3289 阅读 · 0 评论 -
移植Qt4.8.5到mini2440开发板
之前移植过6410的,本来想直接用以前的库,发现不行,好像是编译器的问题,以前用的4.5.1版本的,2440这里用的arm-Linux-gcc.4.4.3,重新做了下,在此记录。一 移植tslib这个很简单(1)./autogen.sh(2)echo "ac_cv_func_malloc_0_nonnull=yes">arm-none-linux-g转载 2017-01-17 18:40:10 · 1114 阅读 · 0 评论 -
qt5.3.2移植smart210
step1:下载qt-everywhere-opensource-src-5.3.2.tar.gz修改源码?step2:编译./configure -release -opensource -xplatform linux-arm-gnueabi-g++ -prefix /opt/arm/qt/5.3.2 -no-c++11 -qreal float -qt-sql-sqlite原创 2017-04-12 09:56:33 · 870 阅读 · 0 评论 -
QT5.6.0无法切换fcitx中文输入法问题记录
以下内容参考或转载自http://blog.csdn.net/flfihpv259/article/details/51556464参考了网上一堆的文章,还是出现了一堆的问题,一句话能用apt-get install安装的千万别自己下源码编译,没有新版本就GOOGLE 关键字+PPA找到新版本源,用add-apt-repository命令添加,然后update下,再ap转载 2017-04-18 09:25:52 · 1463 阅读 · 0 评论 -
linux qt 打包安装程序
一、Linux下qt程序动态打包步骤: 1.从可运行程序的文件中拿出可执行文件; 2.终端下 使用ldd命令查看需要的连接库; 3.把ldd查询到的所有需要的库导出; 提供一个脚本将ldd打印出来的依赖库复制到指定路径:[html] view plain copy #!/bin转载 2017-04-05 13:39:08 · 698 阅读 · 0 评论 -
Linux下USB CDC ACM 驱动简析,加载到内核
以下内容参考http://blog.csdn.net/xhoufei2010/article/details/43966889一、硬件平台:TI AM335X 芯片二、软件平台:Ubuntu 10.04三、USB CDC ACM 驱动简介 USB的CDC类是USB通信设备类 (Communication Device Class转载 2017-04-18 14:19:20 · 14082 阅读 · 2 评论 -
gsm-modem-cms-error-code-list
以下内容转载自https://www.nowsms.com/gsm-modem-cms-error-code-listTopic Keywords: CMS Error, GPRS modem, GSM modemWhen sending and/or receiving SMS messages with a GSM modem, if an er转载 2017-04-18 16:04:44 · 662 阅读 · 0 评论 -
ubuntu14.04 sougou输入法, qtcreator适配sougou输入法
1:查看sougou官方给出的指南: http://pinyin.sogou.com/linux/help.php:qtcreator如何安装搜狗输入法插件 1.安装fcitx for Qt5动态库,执行如下命令:sudo apt-get install fcitx-libs-qt5 2.进入Qt安装目录的下面路径:{path}是Qt的安装目录cd {path}/Qt5.3.转载 2017-01-06 09:12:39 · 2067 阅读 · 0 评论 -
解决 编译内核出现kernel/timeconst.pl line 373问题
以下内容参考http://blog.csdn.net/timetim/article/details/51838692在使用ubuntu16.4编译Linux-3.0.8内核时出现这样的错误在之前的版本编译时是可以正常编译通过,还不清楚具体问题但是可以修改timeconst.pl的内容后正常编译。以下是编译错误提示的内容:Can't use 'defined转载 2017-04-19 10:58:32 · 3810 阅读 · 0 评论 -
HI3515海思开发板移植3G模块笔记
以下内容转载或参考http://blog.csdn.net/alangdangjia/article/details/9413009硬件平台:海思Hi3515 Linux3G模块:1、移动模块:ZTE M305(TD-SCDMA)2、联通模块:HUAWEI EM770W(WCDMA)3、电信模块:HUAWEI EM660(CDMA20转载 2017-04-17 09:08:27 · 1045 阅读 · 0 评论 -
Linux下修改时间
一下内容参考或转载http://www.cnblogs.com/xiao-yu/archive/2011/06/30/2094747.html修改linux的时间可以使用date指令date命令的功能是显示和设置系统日期和时间。输入date 查看目前系统时间。修改时间需要 date -功能字符 修改内容命令中各选项的含义分别为:-d datestr,转载 2017-04-24 11:51:11 · 10850 阅读 · 0 评论 -
0-Linux 网络编程学习笔记导航
以下内容转载自http://blog.csdn.net/q1007729991/article/details/69091877学习交流群:Linux 学习交流群 610441700说明:本系列文章并不能取代 《UNP》这本旷世之作,文章中难免有错误与不足之处,希望读者们遇到有疑问的地方可以加群互相交流,共同进步。写这一系列文章的目的有三转载 2017-06-26 16:17:32 · 443 阅读 · 0 评论 -
如何读懂火焰
以下内容转载或引用或参考http://www.ruanyifeng.com/blog/2017/09/flame-graph.html作者: 阮一峰日期: 2017年9月26日软件的性能分析,往往需要查看 CPU 耗时,了解瓶颈在哪里。火焰图(flame graph)是性能分析的利器。本文介绍它的基本用法。一、perf转载 2017-09-29 10:12:22 · 1595 阅读 · 1 评论 -
Linux服务器上监控网络带宽的18个常用命令
以下内容转载自https://www.cnblogs.com/moodlxs/p/4159245.html【51CTO精选译文】本文介绍了一些可以用来监控网络使用情况的Linux命令行工具。这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度。入站流量和出站流量分开来显示。一些命令可以显示单个进程所使用的带宽。这样一来,用户很容易发现过度使用网络带宽的某个进程。这些工具使用不同的...转载 2018-06-08 15:56:03 · 332 阅读 · 0 评论 -
linux history配置和参数
1 在linux下,历史命令记录是一个很重要的审计信息。默认的~/.bash_history是没有时间戳的,可以自己在.bashrc 或者/etc/profile文件中添加几行配置即可 HISTFILESIZE=2000 HISTSIZE=2000HISTTIMEFORMAT="%F %T "export HISTTI...原创 2018-08-24 16:16:27 · 1062 阅读 · 0 评论 -
xshell window 和 linux 传文件 sz cz
以下内容转载自:https://blog.csdn.net/shenjianxz/article/details/56686449总结:xshell有一个优点就是能够直接把window的文件拉进linux,感觉比secureCRT用起来更方便简单接下来看我转载的!!!Xshell很好用,然后有时候想在windows和linux上传或下载某个文件,其实有个很简单的方法就是rz,sz。首先你...转载 2019-04-17 11:34:59 · 808 阅读 · 0 评论 -
arm下qt的mysql实现
我需要在TQ2440上使用mysql访问远程数据库,现在直接使用命令已经实现访问,但是qt的mysql驱动可能交叉编译的不对,执行QT程序时候出错:QSqlDatabase: QMYSQL driver not loadedQSqlDatabase: available drivers: QSQLITE QODBC3 QODBC我已经交叉编译出来了驱动,不知道怎么还是不行。我也转载 2017-04-01 09:16:05 · 1311 阅读 · 0 评论 -
linux 下字符编码转换
1:enca -x UTF-8 filename2:iconv -f gb2312 -t utf-8 file也可以生成一个新文件,iconv -f gb2312 -t utf-8 file > filenew原创 2017-04-01 09:01:19 · 496 阅读 · 0 评论 -
串口终端 打印连续的 fimc_outdev_check_param
tslib库的问题?转载 2017-04-01 08:50:35 · 698 阅读 · 0 评论 -
Install_qt5_on_ubuntu
Install_qt5_on_ubuntu转载 2017-01-19 09:36:49 · 426 阅读 · 0 评论 -
Linux 下查看系统启动和运行时间
linux 系统开机时间 运行时间转载 2017-01-19 08:59:06 · 423 阅读 · 0 评论 -
Linux:命令执行控制&&与||
linux && ||转载 2017-01-18 17:57:06 · 425 阅读 · 0 评论 -
svn 常见错误
svn E160013原创 2017-01-13 17:36:06 · 3600 阅读 · 0 评论