自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(110)
  • 收藏
  • 关注

原创 centos安装postgresql

环境: Centos 7 64位安装步骤:1>yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm--安装PostgreSQL官方软件源2>yum install postgresql10...

2019-04-02 00:24:30 222

转载 od命令

od命令用于输出文件的八进制、十六进制或其它格式编码的字节,通常用于显示或查看文件中不能直接显示在终端的字符。常见的文件为文本文件和二进制文件。此命令主要用来查看保存在二进制文件中的值。比如,程序可能输出大量的数据记录,每个数据是一个单精度浮点数。这些数据记录存放在一个文件中,如果想查看下这个数据,这时候od命令就派上用场了。在我看来,od命令主要用来格式化输出文件数据,即对文件中的数据进行无...

2018-09-02 14:42:22 1176

转载 time命令

time命令用于统计给定命令所花费的总时间。语法time(参数)参数指令:指定需要运行的额指令及其参数。实例当测试一个程序或比较不同算法时,执行时间是非常重要的,一个好的算法应该是用时最短的。所有类UNIX系统都包含time命令,使用这个命令可以统计时间消耗。例如:[root@localhost ~]# time lsanaconda-ks.cfg instal...

2018-09-02 13:24:02 1028

转载 创建临时文件——tmpnam,tmpfile,mktemp,mkstemp

原文地址:http://blog.sina.com.cn/s/blog_63009a040100snyv.html创建名字唯一的临时文件:推荐使用tmpfile和mkstemp,因为这两个函数创建文件的同时并打开文件,总的来说安全又可靠。tmpfile返回的是文件流指针FILE*,mkstemp返回的是文件描述符。  tmpnam,tmpfile 表头文件 #include &...

2018-08-11 00:14:12 1874

转载 [转]标准c的tmpfile生成的临时文件究竟放在哪里了?

这两天由于修改python解释器的需求,需要用到tmpfile()来生成临时文件的FILE*,但是又担心这个临时文件是否存在于磁盘的某个地方,终究会被人找到,所以就简单做了以下几点实验,看看是否可以找到tmpfile临时文件的路径。实验环境:Win7 + VS2010 一、实验一:跟踪调试写了一小段简单的tmpfile调用,然后跟踪调试,在tmpfile_s内部也没能发现这个临时文...

2018-08-11 00:05:14 1410

转载 【转】深入理解C++的动态绑定和静态绑定

原文地址:https://blog.csdn.net/chgaowei/article/details/6427731为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误。需要理解四个名词:1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。2、对象的动态类型:目前所指对象的类型。是在运行期决定的。对象的动态类型可...

2018-07-29 22:53:32 126

转载 【C++模版之旅】神奇的Traits

原文地址:https://blog.csdn.net/my_business/article/details/7891687介绍traits的文章很多,但感觉大部分文章的说明都很晦涩难懂,把一个并不很复杂的C++模板的应用描述的过于复杂。忍不住想把自己的理解跟大家分享一下,或许我也只是掌握了一点traits的皮毛而已,但也希望这些皮毛能略微抓住你的眼球,带给你一些启发。 首先,介绍tr...

2018-07-29 22:32:29 108

转载 深究标准IO的缓存

能找到的最"源头"的原文地址了:http://blog.sina.com.cn/s/blog_6592a07a0101gar7.html文章很不错,但没有图片,代码也不能直接用,所以自己做了修改-----------------------------------------------------------一、IO缓存  系统调用:只操作系统提供给用户程序调用的一组接口--

2017-12-07 00:20:33 297

转载 页表及内存映射

原文地址找不到了用户空间:0x00000000~0xbfffffff内核空间:0xc0000000~0xffffffff内核前896M线性空间:0xc0000000~0xc0037fff 页目录表swapper_pg_dir系统启动时会先用这个目录表的前两项初始化前8M的物理空间,分别映射到用户空间和内核空间的

2017-12-06 02:40:17 1193

转载 临时内核页表的建立过程

原文地址:http://lib.csdn.net/article/operatingsystem/30678Motivation:当内核被解压到线性地址0x100000后,为了继续启动内核,即启动内核的第一个swapper进程,内核需要建立一张临时页表供其使用。当内核从16位的实模式进入保护模式(通过在汇编代码中的setup函数中设置linux的cr0寄存器的PE位),内核要创

2017-12-06 02:04:38 293

原创 进程的入口函数 & 线程进程的关系

----在线程里调用exit(0)只是结束这个线程,还是结束应用程序??>>结束整个应用程序,子线程要结束的话 return线程函数。进程的入口函数中,result=main(); exit(result)直接就关闭应用程序,结束进程了。所以,无论哪个线程执行exit(),进程都会结束。----exit与return的区别?>>http://blog.csdn.net/qq_3

2017-12-04 17:29:21 849

转载 多线程情况下,主线程先退出,子线程会被强制退出吗

原文地址已经找不到了1、进程中线程之间的关系线程不像进程,一个进程中的线程之间是没有父子之分的,都是平级关系。即线程都是一样的, 退出了一个不会影响另外一个。但是所谓的"主线程"main,其入口代码是类似这样的方式调用main的:exit(main(...))。main执行完之后, 会调用exit()。exit() 会让整个进程over终止,那所有线程自然都会退出。

2017-12-04 17:22:05 1870

转载 exit和return的区别

原文地址:http://blog.csdn.net/firefly_2002/article/details/79605951. exit用于结束正在运行的整个程序,它将参数返回给OS,把控制权交给操作系统;而return 是退出当前函数,返回函数值,把控制权交给调用函数。2. exit是系统调用级别,它表示一个进程的结束;而return 是语言级别的,它表示调用堆栈的返回。3.

2017-12-04 17:17:51 556

转载 守护进程中/dev/null

原文链接:http://blog.csdn.net/drdairen/article/details/52586954有人认为对于后台守护进程做此类重定向操作浪费资源,建议直接关闭0、1、2号句 柄拉倒,这是非常不正确的。假设它们确实被关闭了,则一些普通数据文件句柄将等 于0、1、2。以2号句柄为例,某些库函数失败后会向2号句柄输出错误信息,这将破 坏原有数据。 1、如下代

2017-12-03 17:55:35 712

原创 dup & dup2

说明:part.0 :原创part.1:转载part.2:转载part.3:原创-------------part.0----------------------int dup(int oldfd);//创建一个newfd,newfd指向oldfd的位置,并且dup返回的文件描述符总是取系统当前可用的最小整数值int dup2(int oldfd, in

2017-12-03 17:18:03 2197

转载 SIGHUP信号与控制终端

原文地址已经找不到了SIGHUP信号与控制终端UNIX中进程组织结构为 session (会话)包含一个前台进程组及一个或多个后台进程组,一个进程组包含多个进程。一个session可能会有一个session首进程,而一个session首进程可能会有一个控制终端。一个进程组可能会有一个进程组首进程。进程组首进程的进程ID与该进程组ID相等。这儿是可能会有,在一定情况之下是没有的。与终

2017-12-03 15:59:26 519

转载 守护进程

原文地址:http://blog.csdn.net/lianghe_work/article/details/47659889什么是守护进程?守护进程(Daemon Process),也就是通常说的 Daemon 进程(精灵进程),是 Linux 中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。

2017-12-03 15:50:58 123

转载 Linux下清空缓冲区的方法

原文链接已经失效.....Linux下清空缓冲区的方法 C标准规定fflush()函数是用来刷新输出(stdout)缓存的。对于输入(stdin),它是没有定义的。但是有些编译器也定义了fflush( stdin )的实现,比如微软的VC。其它编译器是否也定义了fflush( stdin )的实现应当查找它的手册。 GCC编译器没有定义它的实现,所以不能使用fflush

2017-12-03 15:34:23 900

原创 exec函数

已经转载了一篇exec函数的文章,这里补充一些。exec函数的第二个参数好像只能用"./xx"当前目录下的可执行文件,至于为什么我也不是很懂,以后遇见了再说吧。FD_CLOEXEC,标志默认是关闭的。可以再open里打开,或者fcntl。如果文件已经存在,再次create+trunc,属性是不变的,O_TRUNC(配合只写或者读写才会更新文件) 若文件存在, 将其长度缩为0, 属性不变

2017-12-03 15:28:36 179

转载 linux内核之进程的基本概念(进程,进程组,会话关系)

原文地址:https://www.cnblogs.com/zengyiwen/p/5755191.html笨拙的菜鸟linux内核之进程的基本概念(进程,进程组,会话关系)进程是操作系统的一个核心概念。每个进程都有自己唯一的标识:进程ID,也有自己的生命周期。一个典型的进程的生命周期如图4-1所示。进程都有父进程,父进程也有父进程,这

2017-12-02 17:32:24 353

转载 终端、虚拟终端、shell、控制台、tty的区别

原文地址:http://blog.csdn.net/ltx06/article/details/52170852最近开始接触Linux,终端、虚拟终端、shell、控制台、tty等概念让我很混乱,有必要认识清楚。今天看到有人问终端和控制台的区别,而且这个问题比较有普遍性,因此想抽出一点时间来解释一下这两个术语的区别。  终端,英文叫做terminal ,通常简称为term

2017-12-02 17:30:51 652

转载 进程控制之exec函数

原文地址:http://www.cnblogs.com/nufangrensheng/p/3510821.html用fork函数创建子进程后,子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时,该进程执行的程序完全替换为新程序,而新程序则从其main函数开始执行。因为调用exec并不创建新进程,所以前后的进程ID并未改变。exec只是用一个全新的程序替换了当前进

2017-12-02 17:30:06 358

转载 fork之后子进程到底复制了父进程什么

原文地址:http://blog.csdn.net/xy010902100449/article/details/44851453[cpp] view plain copy #include  #include  #include  #include    void main()  {      char str[6]="hello";        pid_t

2017-12-02 17:28:26 1841

原创 shutdown函数 & 套接字选项

有的时候客户端批量发送数据,发送完数据后,如果直接调用close(假设引用计数为0)则发送端与接收端均被关闭。但可能管道中还有数据在传输,这时管道中对方的ack,以及fin的确认就不能收到了,连接就不是正常关闭。close函数把描述符的引用计数减一,仅仅在该计数变为0的时候,才真正的关闭套接字,而使用shutdown函数可以不管引用计数就激发了TCP的正常连接终止序列;clos

2017-12-01 21:48:12 590

转载 select函数与stdio混用的不良后果

原文地址:http://www.cppblog.com/mysileng/archive/2013/01/15/197284.html 今天在看UNP6.5节,学习到了select与stdio混用的后果。特此进程实验一番。再实验之前需明确一下几点:1.stdio流的i/o函数 与 系统i/o函数不同。stdio流函数在用户空间和内核都有缓冲,系统i/o函数只在内核有缓冲,用户空间没有。

2017-12-01 20:47:40 152

转载 open和fopen的区别

原文地址:http://blog.csdn.net/qq_21792169/article/details/50160857open和fopen的区别:1.缓冲文件系统缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”, 装满后再从内存“缓冲区”依此读入接收的变量。执行写文件的操作时,先将数据写入内存

2017-12-01 20:07:47 201

转载 Linux tcpdump命令详解

原文地址:https://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html简介用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议

2017-12-01 17:45:46 171

转载 信号中断 与 慢系统调用

原文地址:http://blog.csdn.net/benkaoya/article/details/172620531. 术语1.1. 慢系统调用(Slow system call)该术语适用于那些可能永远阻塞的系统调用。永远阻塞的系统调用是指调用永远无法返回,多数网络支持函数都属于这一类。如:若没有客户连接到服务器上,那么服务器的accept调用就会一直阻塞。慢系统调用可以

2017-12-01 17:43:31 170

原创 卷1部分4-8章

描述C 库函数 char *getenv(const char *name) 搜索 name 所指向的环境字符串,并返回相关的值给字符串。声明下面是 getenv() 函数的声明。char *getenv(const char *name)参数name -- 包含被请求变量名称的 C 字符串。返回值该函数返回一个以 null 结尾的字符串,该字符串为被请求环境变

2017-12-01 17:31:37 160

原创 计算机概论与linux的发展

CPU主要分为两个单元:1> 算术逻辑单元:主要负责程序运算和逻辑判断2> 控制单元: 主要协调各组件和各单元之间的工作。CPU的分类:1> 精简指令集:Sun公司的SPARC系列(常用语学术领域的大型工作站,包括银行金融体系)IBM公司的Power Architecture【包括PowerPc】...(例如sony公司的PS3)ARM系列(手机,导航设备,路由

2017-11-30 17:36:37 208

原创 卷1前三章知识点汇总

--------------------------------------《1》---------------------------------------------   尽管客户和服务器之间使用某个应用协议通信,传输层却使用TCP通信。注意,客户和服务器之间的信息流在其中一端是向下通过协议栈的,跨越网络后,在另一端则是向上通过协议栈的。另外注意,客户和服务器通常是用户进程的

2017-11-28 17:00:41 222

转载 拒绝服务型攻击

拷贝自百度百科,感觉这个对理解tcp很有帮助拒绝服务攻击即是攻击者想办法让目标机器停止提供服务,是黑客常用的攻击手段之一。其实对网络带宽进行的消耗性攻击只是拒绝服务攻击的一小部分,只要能够对目标造成麻烦,使某些服务被暂停甚至主机死机,都属于拒绝服务攻击。拒绝服务攻击问题也一直得不到合理的解决,究其原因是因为网络协议本身的安全缺陷,从而拒绝服务攻击也成为了攻击者的终极手法。攻击者进行拒绝服务攻击

2017-11-27 22:03:40 814

原创 ubuntu配置ntp服务器

安装命令:sudo apt_get ntp我电脑安装完出错:解决办法:------------------------------------------------------配置:(原文:https://www.cnblogs.com/xwdreamer/p/3448773.html)# /etc/ntp.conf, configuration for nt

2017-11-27 22:02:09 1922

原创 共享内存

共享内存区是可用IPC形式中最快的,一旦这样的内存区映射到共享它的进程的地址空间,这些进程间数据的传递就不再涉及内核。在另一篇文章点击打开链接中已经提到了,mmap的内部机制。少了用户空间到内核空间的数据复制,内核的缺页故障,触发中断处理程序,通过映射关系在磁盘读取数据。mmap,munmap,msync函数之前的文章已经说过了,这里增加一些新的内容:1>  4.4SBD匿名内

2017-11-25 20:18:50 433

原创 posix下的消息队列

mq_open,mq_close,mq_unlink函数#include |mqd_t mqopen( const char * name,int oflag,...                                            /*   mode_t  mode,struct mq_attr *attr   */)

2017-11-23 22:44:34 309

转载 《UNIX环境高级编程》笔记--sigsuspend函数

原文地址:http://blog.csdn.net/todd911/article/details/17319591#include   #include     static void sig_int(int);    int main(void){          sigset_t newmask,oldmask,waitmask;          printf("progra

2017-11-23 19:26:40 131

转载 利用alarm()和pause()函数实现sleep()函数

原文地址:http://blog.csdn.net/yuzhihui_no1/article/details/44855419sleep()是执行挂起一段时间,而alarm()函数是定时器,pause()函数则是挂起进程,当出现信号打断时,才会继续往前执行;        先来分享下alarm()函数,alarm()函数用来设置一个定时器,当时间超时时,会产生SIGALRM信号,该信号默认

2017-11-23 00:52:02 1507

转载 signal、sigaction,信号集操作函数

原文地址:http://blog.csdn.net/guoping16/article/details/6583957信号是与一定的进程相联系的。也就是说,一个进程可以决定在进程中对哪些信号进行什么样的处理。例如,一个进程可以忽略某些信号而只处理其他一些信号;另外,一个进程还可以选择如何处理信号。总之,这些总与特定的进程相联系的。因此,首先要建立其信号和进程的对应关系,这就是信号的

2017-11-22 22:20:51 240

转载 linux之getopt 函数

原文地址:http://blog.csdn.net/mr_jj_lian/article/details/6835137命令行参数解析函数 —— getopt()getopt()函数声明如下:#include int getopt(int argc, char * const argv[], const char *optstring);extern c

2017-11-22 15:33:18 148

原创 fifo实现单服务器多客户端

费劲的折腾,好几次小细节没处理好,真是醉了,不说了代码记录下服务端://fifo(first in, first out)//有名管道#include #include #include #include #include #include #include #include #include #include #include using n

2017-11-22 00:47:40 404

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除