linux 中& 、 fg 、 bg 、 ctrl-z 和 jobs 命令的用法

一、命令说明 &: 将程序放到后台运行 Ctrl-z: 将程序放到后台运行并暂停 jobs: 查看后台进程 fg: 把后台的进程放到前台执行 bg: 把后台暂停的进程放到前台执行 写一个测试程序:

[crayon-694ac8 ... 阅读更多

使用 ssh 密钥远程登录 linux

一、生成密钥 使用 ssh-keygen 命令生成密钥:

生成的密钥默认位于~/.ssh/目录下,有两个文件,id_rsa 是私钥,id_rsa.pub 是公钥:

把公钥内容 ... 阅读更多

C++构造函数的执行顺序

一、构造函数的执行规则

C++构造函数的调用顺序为:

  • 如果类中包含静态成员变量,先执行静态成员变量的构造函数。
  • 如果类是派生类,则先执行基类的构造函数。同样如果基类也是一个派生类,它也要先执行基类的构造函数。
  • 执行成员变量中的构造函数,根据定义的顺序来,先执行类内初始化,再执行列表初始化。
  • 执行本类的构造函数。

阅读更多

C++变量的声明、定义和 extern 关键字

一、变量的声明和定义

C++的分离编译机制允许程序拆分成多个文件来写,最常见的是在头文件中进行声明,源文件中进行定义,然后一起编译:

声明使得函数或者变量被程序所知,定义负责创建与声明相关联的实体。变量只能被定义一次,但能多次声明。

阅读更多

c++中的变量初始化

一、默认初始化

C++中,对于定义时没有指定初值的变量,将会被默认初始化,此时变量将被赋予 「默认值」,默认值是具体是什么将由变量的类型和位置决定。

对于内置类型来说,它的默认值由定义的位置决定,定义于函数体外的变量 (即全局变量) 被初始化为 0,定义于函数体内的局部变量将不被初始化,值是未定义的。

阅读更多

nginx 隐藏版本号及修改软件名

一、概述 nginx 作为当前最流行的开源 web 服务器之一,被无数公司或个人在使用。正因为开源,所以任何人都可以获取到它的源码,这其中就包含了世界各地的黑客。他们无时无刻不在想着如何找出 nginx 的漏洞,以至于在网上随便一搜都能找到无数 nginx 相关的漏洞: 默认情况下,http 响应的 Server 头部 ... 阅读更多

nginx 配置 https

 

配置 https 之前首先要确保已经有 http 证书私钥文件,证书是*.crt 文件,私钥是*.key 文件。

怎么申请证书这里不再说明,很多机构都可以免费发放证书,在腾讯云,阿里云或者七牛等等随便找个机构申请一个即可。

假设域名和证书的对应关系如下:

www.maqian.io

maqian.io

阅读更多

进程的状态变迁

一、进程状态 通常情况下,我们描述进程的状态主要有三种: 就绪态:进程已经拥有了执行条件,但是没有获取到 CPU,无法执行。 运行态:进程已经占有了 CPU,此时正在 CPU 上运行。 阻塞态:进程在等待某项服务、信号或者外部操作等时候的状态。 三者之间的转化过程: 状态说明: 就绪 => 运行:进程 ... 阅读更多

CentOS 源码编译安装 PHP 5.6

lnmp 环境中,php 算是最难安装的一个了,之前各种鼓捣搞了好多次,查阅了无数资料才终于有点经验了,记录下来。

一、安装依赖项

php 的依赖项相当多,大部分都是运行环境需要的库环境。有的直接 yum 就能安装,有的就需要手动编译安装了。反正一个原则:能用 yum 安装的尽量用 yum 。

阅读更多