1.问题发现 有这样一段代码: #include <stdio.h> int main() { int a, b, num1, num2, temp; printf("please input two numbers:\n"); scanf("%d,%d", &num1, &num2); if(num1 > 0 && num2 > 0) (1) { a = num1; b = num2; temp = a%b;…
Linux下写C++程序出现“段错误(核心已转储)”的问题: 段错误一般就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起始地址以及与此相应的段限和页面交换还有程序运行级别还有内存粒度等等的信息.一旦一个程序发生了越界访问,…
今天写程序出现了“段错误(核心已转储)"的问题,查了一下资料,加上自己的实践,总结了以下几个方面的原因. 1.内存访问出错  这类问题的典型代表就是数组越界. 2.非法内存访问 出现这类问题主要是程序试图访问内核段内存而产生的错误. 3.栈溢出  Linux默认给一个进程分配的栈空间大小为8M.c++申请变量时,new操作申请的变量在堆中,其他变量一般在存储在栈中.  因此如果你数组开的过大变会出现这种问题.  首先我们先看一下系统默认分配的资源: 1 ulimit -a 可以看到默认分配的栈大…
Linux系统下到哪儿寻找硬件错误       当linux系统出现故障的时候,作为管理员首先要定位错误,现在linux有许多工具都能帮助用户寻找错误,要学会利用他们确定问题.这些工具包括dmesg.lspci.lsmod.syslog/messages和proc文件系统等,而且这些工具是根本,换句话说他们不会应为linux发行厂家不同,发行版年代不同而改变.希望大家熟练使用.     dmesg通常很有用,所以首先介绍该工具.dmesg是一个读取内核缓冲的命令.它里面具有内核消息.它会报告内核…
深入理解linux系统下proc文件系统内容 内容摘要:Linux系统上的/proc目录是一种文件系统,即proc文件系统. Linux系统上的/proc目录是一种文件系统,即proc文件系统.与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态. 基于/proc文件系统如上所述的特殊性,其内的文件也常被称作虚拟文件,并…
微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确定是否管用的步骤或文件.本人系统为Linux Mint 18.1版本. 1.下载nwjs 下载nwjs的SDK. 2.将微信web开发者工具拷贝到nwjs 将在window系统下安装的微信web开发者工具文件夹中的package.nw.icon.ico.* 微信web开发者工具.exe拷贝到nwjs sdk解压后的文件夹内. * 解压 微信w…
Vi是Unix及Linux系统下标准的编辑器.学会它后,您将在Linux的世界里畅行无阻.基本上vi可以分为三种状态,分别是命令模式.插入模式,和底行模式. vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它.Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻. 基…
下面对linux系统下的有关权限操作命令进行了梳理总结,并配合简单实例进行说明.linux中除了常见的读(r).写(w).执行(x)权限以外,还有其他的一些特殊或隐藏权限,熟练掌握这些权限知识的使用,可以大大提高我们运维工作的效率. (0)umask是权限码,默认是022--------------------------------------------------                  使用命令“umask”就能查询出来 文件默认的权限是666,目录默认的权限是777新建文件和…
linux系统下修改文件夹目录权限 文件夹权限问题 Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何修改Linux文件-文件夹权限.以主文件夹下的一个名为cc的文件夹为例. 下面一步一步介绍如何修改权限: 1.打开终端.输入su(没 Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何修改Linux文件…
Linux系统下安装Apache Server2.4.17.还是先声明一下,Linux命令我不进行讲解,因为我不是讲Linux命令的.有需要注意的地方,我会上图,没什么值得的注意的地方,我就不上图了.还有就是怎样将压缩包上传到Linux系统中去,我不进行讲解,还是那句话:网上教程太多了!最后,确保你的Linux是连网的! 工具/原料 Linux系列系统 Apache Server2.4.17源码包 APR源码包 APR-Util源码包 PCRE源码包 方法/步骤 1 首先,秉承我一贯的风格,来看…
编译没有警告,没有错误,运行就打印 段错误 (核心已转储) 网上找了一下,都是各种问题,都推荐用gdb 调试解决,咱也来趁机学习gdb一下.   gcc+gdb)输入命令行 运行 sudo apt-get install build-essential build-essential包含gcc和gdb等工具,是C语言的开发包. 安装完了可以执行 一般来说GDB主要调试的是C/C++的程序.要调试C/C ++的程序,首先在编译时,我们必须要把调试信息加到可执行文件中.使用编译器(cc/ gcc/g…
这里介绍Linux的知识,比如把/etc/apache/bin目录添加到PATH中有三种方法,看完之后你将学会Linux系统下如何修改环境变量PATH路径,需要的朋友可以参考下 电脑中必不可少的就是操作系统.而Linux的发展非常迅速,有赶超微软的趋势.这里介绍Linux的知识,让你学好应用Linux系统.比如要把/etc/apache/bin目录添加到PATH中,方法有三: 1.#PATH=$PATH:/etc/apache/bin 使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以…
之前在windows 2008 server上搭建了一个用于测试的web服务器,但是在打开网站的时候特别的慢,尤其是图片的加载都会失败,当时以为是路径的问题,但是在服务器上自己打开都特别慢,自己实在找不到原因,所以打算不在一棵树上面吊死,准备去linux下试试. 经常被拿来当服务器的有centos.ubuntu......考虑到自己只有ubuntu的镜像并且只是自己做一些简单的测试使用,所以选择的版本是ubuntu14.04LTS.在这个平台上搭建自己的web服务器 相比在windows下的wa…
linux下mysql 5.5的安装方法: 1.安装所需要系统库相关库文件      gcc等开发包,在安装linux系统的时候安装. 2.创建mysql安装目录 # mkdir -p /usr/local/mysql/ 3.创建数据存放目录 # mkdir -p /service/data/ 4.创建用户和用户组与赋予数据存放目录权限 # groupadd mysql # useradd -g mysql mysql # chown mysql:mysql -R /service/data/…
linux系统下,11款常见远程桌面控制软件 一. Grdc 它是一个用GTK+编写的,适用于gnome桌面环境的远程桌面访问软件.看图: 常见功能: 1.提供全屏,窗口化的远程控制.支持高分辨率下的窗口显示以及调整. 2.可浮动的工具栏 3.可抓取键盘 4.支持建立一个“常用访问列表” 5.连接快速,高效 6.全屏模式下,当鼠标划过屏幕边缘时自动滚动 7.全屏模式下工具栏同样支持浮动效果,可直接进行例如模式切换,键盘抓取最小化等常见操作. 8. rdesktop 支持RDP协议, 9. 支持…
今天我在做Redis的哨兵集群模式的时候,以前都是好的,也不知道从什么时候开始就无法连接Redis服务器了,就是运行如下命令,没有效果:redis-server redis.conf,然后在通过命令查看redis的状态,始终没有启动Redis,命令如下:ps -ef|grep redis 或者 ps -ef|grep 6379 ,查询不到Redis服务器的状态.开始以为是配置文件的错误,看了很多遍,改了很多遍,都是不行,最后重新拷贝了新的redis.conf配置文件,还是不能启动. 后来我查看R…
注意:linux系统下使用mount命令挂载Windows系统下的共享文件,详情见我的另一篇“Linux系统挂载Windows系统下的共享文件” 一.安装jdk 1.进入usr目录cd /usr 2.在usr目录下建立java安装目录(可以是home目录下)mkdir java 3.将jdk拷贝到java目录下(使用Tab键命令补全)cp /root/hadoop_home/jdk-8u45-linux-x64.rpm /usr/java/ 看到相应的目录下有我想要的文件既表示cp命令成功 4.…
下面对linux系统下的有关权限操作命令进行了梳理总结,并配合简单实例进行说明.linux中除了常见的读(r).写(w).执行(x)权限以外,还有其他的一些特殊或隐藏权限,熟练掌握这些权限知识的使用,可以大大提高我们运维工作的效率. 首先,umask是权限码,默认是:0022             使用命令"umask"就能查询出来 文件默认的权限是666,目录默认的权限是777:新建文件和目录的权限分别是各自默认权限减去umask权限码值. 即:新建文件权限,666-022=644…
一.下载TOMCAT压缩包 apache-tomcat-6.0.44-client.zip 或 apache-tomcat-7.0.69.tar.gz 点击进入官网:http://tomcat.apache.org/ 二.将文件放入/softwares目录下 三.解压安装包 unzip -o apache-tomcat-6.0.44-client.zip或:tar -xzvf apache-tomcat-7.0.69.tar.gz 四.启动Tomcat 进入tomcat安装目录/bin,./st…
在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test admin@aispider.com 这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并且后面的邮箱不会挡这种可能莫名奇妙的信的时候,就能收到这封信了.如果你不想被这种乱七八糟的事情干扰,后面的邮箱请使用本地帐户. 2. 第二个例子: 三种常用格式发信 mail -s test admin@aispider.com #第一种方法,你可以把当前shell当成编辑器来用,编辑完内容后Ctr…
在Linux系统下,重启Tomcat使用命令操作的! 首先,进入Tomcat下的bin目录 cd /usr/local/tomcat/bin 使用Tomcat关闭命令 ./shutdown.sh 查看Tomcat是否以关闭 ps -ef|grep java 如果显示以下相似信息,说明Tomcat还没有关闭 root 7010 1 0 Apr19 ? 00:30:13 /usr/local/java/bin/java -Djava.util.logging.config.file=/usr/loc…
Linux系统下用源码包安装软件 by:授客 QQ:1033553122 下载源码安装包,解压或者直接双击打开(如果有安装zip或rar等压缩/解压缩软件的话),查找相关的安装说明文件,一般是README,INSTALL这两个文件,这两个文件一般会告诉你怎么安装你所下载的软件,找到后用记事本或内部查看器打开,查看安装说明. 通常,会包含以下几个步骤,以下举例说明. 例:用源码包tsung-1.5.1.tar.gz安装tsung软件 #步骤1.解压软件源码包 [root@localhost sof…
Linux系统下(x64)安装jdk 1.6(jdk-6u45-linux-x64.bin) 一,查看是否安装jdk: # rpm -qa | grep jdk 或者 #rpm -q jdk 或者 #java -version 二,下载安装文件: http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html 根据自己的Liunx的版本下载对应版本的jdk,如果在…
这篇文章主要介绍了Linux系统下MongoDB的简单安装与基本操作,需要的朋友可以参考下   Mongo DB ,是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式,备受当前IT从业人员的青睐.Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象.Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作. 一.下载mongodb 前往m…
Linux系统下的ssh使用(依据个人经验总结)   对于linux运维工作者而言,使用ssh远程远程服务器是再熟悉不过的了!对于ssh的一些严格设置也关系到服务器的安全维护,今天在此,就本人工作中使用ssh的经验而言,做一些总结记录来下. -bash: ssh: command not found 解决办法: yum install -y  openssh-server openssh-clinets (0)ssh登录时提示:Read from socket failed: Connectio…
ncurses库是一个Linux系统下的图形支持的函数库,字符终端处理库,包括面板和菜单. 今天在安装ncurses库的时候遇到了一些问题,现将遇到的问题所叙如下: 首先说明:本次安装采用的是源码包的安装方式,并没有直接使用一键命令的方式,并不是源码包安装方式有多牛逼,只是实在是我的虚拟机连不上外网. 1.下载ncurses库源码压缩包 大家可以去这个网址下载:http://ftp.gnu.org/pub/gnu/ncurses/ 版本的新旧差别不大,本次我选用的是ncurses-5.6版本 2…
一.Linux系统下,启动Tomcat有时报Address already in use<null>... 1.那是因为你的tomcat已经启动了tomcat自带的关闭脚本,有时候关闭看上去成功了,其实并没有关闭.可以使用如下命令查看进程列表:ps -ef | grep java 2.如果java进程还在,就用如下命令把它们全部手动关闭掉,再启动tomcat就可以解决了.kill -9 pid 其中PID要替换成进程号才行,另外,使用命令ps -ef|grep java可以同时看到五六个进程,…
nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链步骤(linux系统下),安装Nginx和HttpAccessKeyModule模块(参考LNMP环境搭建:第一步:在/usr/local/src/下下载模块压缩包:    wget http://wiki.nginx.org/images/5/51/Nginx-accesskey-2.0.3.tar.gz (下载)    tar zxvf Nginx-accesskey-2.0.3.tar.gz …
重启部署在Linux系统下的tomcat服务具体的操作步骤: 1.在Winscp上建立连接,输入用户和密码,这个密码一般是看不到的: 2.查看服务:ps -ef  |  gerp  Java  注意在单词直接会有一个空格的出现,如果没有会提示你找不到这个链接: 3.删除现有的访问进程: pkill  -9   java  : 4.需找部署的tomcat位置: /usr/apache-tomcat-6.0.35(tomcat的版本)/bin; 5.启动服务: /usr/apache-tomcat-…
rsync是Linux系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.rsync支持大多数的类Unix系统,无论是Linux.Solaris还是BSD上都经过了良好的测试.rsync的最新版本可以从 http://rsync.samba.org/rsync/获得.它的特性如下:1.可以镜像保存整个目录树和文件系统.2.可以很容易做到保持原来文件的权限.时间.软硬链接等等.3.无须特殊权限即可安装.4.优化的流程,文件传输效率高.5.可以使用rcp.ssh等方式来…