
Linux 笔记
Saber丶丶
zzz
展开
-
Linux下Tcp 编程
今天要写一个linux下C/S模式程序,然后就遇见一个问题。服务器端是被动连接的,然后准备让多个Client端连接,Socket在Client异常中断的情况下。服务器端也会随之中断。根据网络搜索的结果,这个一般是由于向一个被破坏的socket连接或者pipe读写数据造成的,说这种场景不会出现SIGPIPE信号,而是直接send, write, sendmsg等返回-1,同时errno会被设置成EPI原创 2016-08-16 18:51:44 · 322 阅读 · 0 评论 -
QT5.0以上版本 incomingConnection不能被调用的解决方案
TcpSocket编程时,重写了incomingConnection这个函数,但是在服务器端运行的时候,提示客户端已经连接但是无法调用incomingConnection这个函数.解决方案:把incomingConnection(int socketDescriptor)改为 incomingConnection(qintptr socketDescriptor)即可原创 2016-10-08 15:09:29 · 5338 阅读 · 7 评论 -
CentOS 升级 openssl
CentOS 升级 openssl安装依赖环境:yum install pcre-devel zlib unzip git查看当前 OpenSSL 版本openssl versionOpenSSL 1.0.1e-fips 11 Feb 2013下载 OpenSSL 的最新版去官网 https://www.openssl.org/source/ 选择最新的就可以。wget https:/原创 2017-02-02 16:36:11 · 668 阅读 · 0 评论 -
解决zlib.h:no such file or directory
在升级openssl库时,出现了zlib地址:http://www.zlib.net/zlib标准安装指导(建议使用这个):zlib library files are placed into /usr/local/lib and zlib header files are placed into /usr/local/include, by default.build static librar原创 2017-02-02 16:38:31 · 8035 阅读 · 0 评论 -
Centos6.x下Apache-mysql-php优化
1.php优化: 视情况而定: 有时需要mysql连接需要随开随关 有时需要保持连接2.apache:每个Apache配置对于每个部署都是唯一的。 禁用不必要的PHP扩展和微调内存使用和php.ini文件中的其他设置。适当工作模式的切换: 三个模式该preforkMPM使用多个子进程,不必穿线。每个进程一次处理一个连接,而不为每个进程创建单独的线程。在不涉原创 2017-03-28 17:19:27 · 874 阅读 · 0 评论 -
centos6.x apache开https
首先安装openssl yum install mod_ssl openssl如果不是用三方认证的到这里就可以了 如果有三方认证ssl上传到cp *.crt /etc/pki/tls/certs/cp *.key /etc/pki/tls/private/配置Apache 服务器# vim /etc/httpd/conf.d/ssl.conf### overwrite the following原创 2017-03-28 18:40:06 · 1256 阅读 · 0 评论 -
免sudo启动Docker
默认安装完 docker 后,每次执行 docker 都需要运行 sudo 命令,非常浪费时间影响效率。如果不跟 sudo,直接执行 docker images 命令会有如下问题:FATA[0000] Get http:///var/run/docker.sock/v1.18/images/json: dial unix /var/run/docker.sock: permission denied原创 2017-03-30 18:52:01 · 900 阅读 · 0 评论 -
解决linmysqlclient.so.16缺失问题
解决linmysqlclient.so.16缺失问题:使用ldconfig -v | grep mysql查看mysql有关的库的所在位置高版本的库一般可以兼容低版本的库,比如说可以这样建立软连接ln -s /usr/lib64/mysql/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.16将软连接所在目录加入到/etc/ld.so.conf执行原创 2017-04-06 17:50:56 · 5898 阅读 · 0 评论 -
centos7 安装 mariadb(mysq的一种) 的正确命令
centos7系统,安装MySQL发现默认的是mariadb。百度搜索到的的根本安装方法无法安装成功。总是提示这一句:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)1、使用rpm -qa | grep mariadb搜索 MariaDB 现有的原创 2017-04-06 11:44:08 · 358 阅读 · 0 评论 -
vim重新编译生成支持lua
vim重新编译生成支持lua官方下载:wget ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2 tar -xf vim-7.4.tar.bz2 cd vim74 设置./configure --prefix=/usr --with-features=huge --enable-rubyinterp --enable-pythoninterp --原创 2017-04-19 12:49:24 · 2451 阅读 · 0 评论 -
ulimit -a详解
ulimit的功能描述: 假设一台机器现在有10人登陆,在系统资源没有限制的情况下,一个人又打开500个文件,每个文件有10m,那这个时候系统内存的资源就收到严重的挑战 而实际应用的环境要比这种假设复杂的多,例如在一个嵌入式开发环境中,各方面的资源都是非常紧缺的,对于开启文件描述符的数量,分配堆栈的大小,CPU 时间,虚拟内存大小,等等,都有非常严格的要求。资源的合理限制和分配,不仅转载 2017-04-21 15:03:00 · 9534 阅读 · 0 评论 -
linux特殊文件名字删除不了怎么办
1. 文件名含有特殊字符,直接使用 rm 可能删除不了,可以使用如下方法: 1) 使用 ls -i 查处该文件的 inode 号,假设为654321 2) 使用find命令删除 find ./ -inum 654321 -exec rm ‘{}’ \; 2. 如果文件名是以 - 连字符开头的,可以使用如下方法来删除,如删除 “-filename” 文件: rm – -filename r原创 2017-04-27 10:15:16 · 4635 阅读 · 1 评论 -
Centos平台使用 Supervisord 管理后台进程
经验来说 pip安装是好的安装pipyum install python-setuptoolseasy_install pippip install supervisor//生成必要的配置文件echo_supervisord_conf > supervisord.conf//将配置文件统一放在/etc下cp supervisord.conf /etc/supervisord.conf//为了原创 2017-01-19 15:25:05 · 830 阅读 · 0 评论 -
Mysql tar.gz 包安装过程
从官网下载mysql-5..-linux-glibc2.5-x86_64.tar.gz创建mysql用户[root@Master home]# useradd mysql[root@Master data]# echo 'mysql'|passwd --stdin mysql更改用户 mysql 的密码 。 passwd: 所有的身份验证令牌已经成功更新。在mysql用户下创建data目录并解压原创 2017-09-08 10:27:34 · 2368 阅读 · 0 评论 -
C++注意事项
1.class A{public: int Bar(char x) { cout<<"A Bar"<<endl; return (int)x; } virtual int Bar(int x) { cout<<"A virtual Bar"<<endl; return 2 * x;原创 2016-11-08 21:40:59 · 651 阅读 · 0 评论 -
x210 ARM linuxQt4.8写入程序
X210版子1.登录所配置好的虚拟机 gigi rootroot **2.**root登录重新设置root密码 sudo passwd root root密码与gigi一样的密码 root账号登录 su root **3.**startx开启图形用户界面 **4.**ifconfig 有eth0 eth1 lo 5.确认目录 /tftpboot tftp共享目录原创 2016-10-18 18:32:09 · 398 阅读 · 0 评论 -
线程控制和线程资源保护
第十五篇 线程控制和线程资源保护1、引言 1)从前面的课程我们知道,每个进程都有自己的进程空间(也称为虚拟内存空间),并且在内核中每 个进程都有属于自己的task_struct进程表项来描述自己,这个表项中包含一个很重要的东西,那 就是虚拟地址与实际物理地址的映射表。 2)每个进程的空间的范围都是0到4G,而且都是自己私有的,进程间的切换,会导致虚拟空间的 切换,需要os+mmu一翻译 2016-08-18 09:59:06 · 3952 阅读 · 0 评论 -
网络应用编程接口
第十六篇 网络应用编程接口1、引言 上一篇着重讲述了网络的一些概念方面的问题,本章将重点放在编程应程序的网络接口的学习。上图中位蓝色字体处才网络编程的重点。。2、TCP协议 前面说过它是一种面向连接的,可靠的,基于IP实现的传输层协议,能偶实现对数据精确收发的控制。 当应用层向TCP层发送8位字节为单位的数据流时,TCP通常会安静数据流分割成适当长度数据报文段,紧接着TCP会将数据报传递给IP翻译 2016-08-18 10:12:00 · 2703 阅读 · 0 评论 -
文件IO
Linux文件 IO笔记整理翻译 2016-08-09 09:11:09 · 3970 阅读 · 0 评论 -
Ubuntu下wps无法输入中文 使用的是搜狗输入法
装了ubuntu后发现wps下竟然不能用中文输入法,搜索后得到以下解决办法:1.编辑ryanyu@RyanYu:~$ sudo vi /usr/bin/wps (记得root用户权限,否则提示只读文件) 2.写入以下内容#!/bin/bashexport XMODIFIERS="@im=fcitx"export QT_IM_MODULE="fcitx"gOpt=#gOptExt=-mu原创 2016-08-09 20:05:36 · 4934 阅读 · 0 评论 -
文件属性
第四章、文件属性 本篇索引: 1、引言 2、文件类型 3、获取文件属性的函数,stat、fstat、lstat 4、超级用户(root用户)和普通用户 5、进程与用户ID 6、文件权限的检查 7、新创建的的文件和目录的所有权 8、access函数 9、umask函数 10、chmod、fchmod函数 11、粘住位 12、chown,fchown,lchown函数 13、翻译 2016-08-10 08:40:23 · 1422 阅读 · 0 评论 -
进程环境
第七篇 进程环境 本篇索引: 1、引言 2、main函数 3、进程的终止方式 4、exit和_exit函数 5、atexit函数 7、环境表 8、C程序程序空间布局 9、存储空间的手动分配 10、库文件1、引言 一个人生活在某个地方,这个人一定有自己的周边生活环境,所谓生活环境,就是与人的生活息息相关的身边的人、事物、事情等等,那么一个进程也有它的运行环境,那么我们就称这个运行翻译 2016-08-10 16:18:01 · 684 阅读 · 0 评论 -
进程控制
第八篇 进程控制 本篇索引: 1、引言 2、进程标识 3、多进程 4、fork函数 5、vfork函数 6、exit函数 7、wait和waitpid函数 8、竞态 9.exec函数族 10.进程状态 11、system函数1、引言 我们知道./a.out就能够让我们当前路径下的程序a.out(可执行文件)运行起来,我们称呼这个正在运行的程序叫进程(动态运行的程序),既然是翻译 2016-08-10 16:43:35 · 608 阅读 · 0 评论 -
Linux 信号
这一章神烦。第十篇 信号 本片索引: 1、引言 2、信号 3.程序启动 4、signal函数 5、系统调用的中断和系统调用的重启(了解) 6、可再入与不可再入函数(了解) 7、kill函数和raise函数 8、alarm函数和pause函数 9、信号的发送、接收和处理的过程 10、信号集设置函数和sigprocmask函数 11、sigpending函数 12、sigact翻译 2016-08-11 16:22:17 · 1713 阅读 · 0 评论 -
高级IO
第十二篇 高级IO 本篇索引: 1、引言 2、非阻塞IO 3、记录锁(文件锁) 4、io多路复用(I/O multiplexing ) 5、异步IO 6、存储映射IO1、引言 我们第三篇学习了对IO的open、read、write等的操作,这一篇我们将会学习对IO的一些高级操作,实际上这一篇的内容是对第三篇内容的进一步升华,主要的内容如下: •非阻塞IO:对文件实现非阻塞翻译 2016-08-12 12:21:44 · 1498 阅读 · 0 评论 -
进程间通信
第十四篇 进程间通信 本篇索引: 1、引言 2、无名管道 3、有名管道 4、信号机制 5、系统V IPC通信 6、ftok函数 7、消息队列 8、信号量(或信号灯)semaphore 9、共享内存 10、域套接字 11、进程间通信的总结1、引言 由于各个进程的虚拟空进程间的地址是不能够互相访问的,所以每个进程对自己的资源的保护能力天生就是很强的,但是这样一个优点同时也导致翻译 2016-08-12 20:15:21 · 645 阅读 · 0 评论 -
Ubuntu Tips
1.给VIM增加代码提示以及其他的一些功能: wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh |sh -x 2.继续中断了的安装 sudo apt-get install –reinstall android-studio 3.类似于这样的问题: leo@leo:~$ sudo apt-get原创 2016-10-10 19:07:05 · 262 阅读 · 0 评论 -
VIM 快捷方式
第一部份:一般指令模式可用的按钮说明,光标移动、复制贴上、搜寻取代等移动光标的方法 h 或 向左箭头键(←) 光标向左移动一个字符 j 或 向下箭头键(↓) 光标向下移动一个字符 k 或 向上箭头键(↑) 光标向上移动一个字符 l 或 向右箭头键(→) 光标向右移动一个字符如果你将右手放在键盘上的话,你会发现 hjkl 是排列在一起的,因此可以使用这四个按钮来移动光标。 如果想要进行多次移动原创 2016-10-14 19:20:14 · 678 阅读 · 0 评论 -
QT 5.6转 QT 4.8问题总结
/root/Desktop/hero/MyTCPServer-build-desktop/../MyTCPServer/ui_tcpserverwindow.h:13: error: QtWidgets/QAction: No such file or directory将QtWidgets换成QtGui/root/Desktop/hero/MyTCPServer-build-desktop/.原创 2016-10-18 18:25:05 · 4737 阅读 · 1 评论 -
C++连接Mysql数据库 & 使用预处理读写BLOB
通常C++链接mysql你每次都需要转换数据,传指针,传大小等一系列复杂操作,是不是顺序很混乱,过程很繁杂。mysql也为你提供了另外一种方法,那就是MYSQL_BIND。将数据操作统一化,统一麻烦化。mysqlbind是一个结构体,根据个人不同需求填充各个数据成员可以存储任意类型数据,当然包括blob。1.预处理语句(推荐)对于多次执行的语句,预处理执行比直接执行快,主要原因在于,仅对查询执行一原创 2017-09-08 11:09:27 · 4627 阅读 · 0 评论