
Linux C&&C++程序设计
文章平均质量分 82
UsherYue
进入研发行业10年,曾任职与多家创业公司,负责核心研发工作,团队建设管理工作。
展开
-
(总结)关于Linux的缓存内存 Cache Memory详解
PS:前天有童鞋问我,为啥我的Linux系统没运行多少程序,显示的可用内存这么少?其实Linux与Win的内存管理不同,会尽量缓存内存以提高读写性能,通常叫做Cache Memory。有时候你会发现没有什么程序在运行,但是使用top或free命令看到可用内存free项会很少,此时查看系统的 /proc/meminfo 文件,会发现有一项 Cached Memory:输入cat /proc/memi转载 2016-09-13 15:37:20 · 4030 阅读 · 0 评论 -
linux 新建用户、用户组 以及为新用户分配权限
Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主转载 2017-06-25 08:56:35 · 8241 阅读 · 0 评论 -
Linux查看CPU和内存使用情况
在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要。在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况。运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等。退出 top 的命令为 q (在 top 运行中敲 q 键一次)。top命令是Linux下常用的性能分析工具转载 2016-09-13 15:53:51 · 1385 阅读 · 0 评论 -
Netstat 命令详解
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Recv-Q Send-Q Local转载 2016-11-24 12:59:10 · 551 阅读 · 0 评论 -
什么是僵尸进程?
可能很少有人意识到,在一个进程调用了exit之后,该进程 并非马上就消失掉,而是留下一个称为僵尸进程(Zombie)的数据结构。在Linux进程的5种状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所 有内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置,记载该进程的退出状态等信息供其他进程收集,除此之外,僵尸进程不再占有 任何内存空间。僵尸进程的来由,要追溯到Unix,U转载 2017-09-01 12:38:22 · 858 阅读 · 0 评论 -
Linux zombie进程详细解析
Linux僵尸进程详细解析 在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用 waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵尸进程,无法正常结束,此时即使是root身份kill-9也不能杀死僵尸进 程。补救办法是杀死僵尸进程的父进程(僵尸进程的父进程必然存在),僵尸进程成为"孤儿进程",过继转载 2017-07-10 18:10:40 · 1706 阅读 · 0 评论 -
Linux 线程分离状态
线程的分离与结合 在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached)。一个可结合的线程能够被其他线程收回其资源和杀死;在被其他线程回收之前,它的存储器资源(如栈)是不释放的。相反,一个分离的线程是不能被其他线程回收或杀死的,它的存储器资源在它终止时由系统自动释放。线程的分离状态决定一个线程以什么样的方式来终止自己。在上面的例子中,我们采用了线程的默认属性转载 2017-07-10 17:45:04 · 638 阅读 · 0 评论 -
openssl与数字证书的使用
Openssl与数字证书的使用详解数字证书这个概念大家应该并不陌生,比如我们在利用Nginx提供https服务的时候需要我们去CA申请一 个包含我们的公钥信息、身份信息、数字签名的证书,再比如我们在使用银行的U盾的时候也是在客户机器上安装了用户的数字证书,数字证书就好像我们的电子身份证一样,是对我们身份的唯一标识, 并且数字证书和身份证一样是有期限的,过期之后需要重新申请,上面所说的CA其实是一家原创 2017-05-20 10:07:36 · 5379 阅读 · 3 评论 -
Ubuntu YouCompleteMe 插件配置
Linux系统:Ubuntu 15.04,为Vim安装YouCompleteMe插件,有需要的朋友可以参考下。0x00. 简介YouCompleteMe号称Vim的自动补全神器,YouCompleteMe: a code-completion engine for Vim,该项目在github的地址:YouCompleteMe。0x01. RequirementsVim is at least 7转载 2016-11-12 15:16:42 · 1434 阅读 · 0 评论 -
Linux入门学习教程:GNU C及将Vim打造成C/C++的半自动化IDE
C语言在Linux系统中的重要性自然是无与伦比、不可替代,所以我写Linux江湖系列不可能不提C语言。C语言是我的启蒙语言,感谢C语言带领我进入了程序世界。虽然现在不靠它吃饭,但是仍免不了经常和它打交道,特别是在Linux系统下。 Linux系统中普遍使用的是GNU-C,这里有一份Gnu-C语言手册.pdf,下载地址:。--------------------------------------转载 2016-09-27 11:14:34 · 686 阅读 · 0 评论 -
Spin lock 与mutex 的区别--2011.01.06
POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共 享的临界区(Critical Section)进行保护(另一种常用的同步机制是barrier)。Pthreads提供了多种锁机制:(1转载 2016-09-08 17:11:18 · 472 阅读 · 0 评论 -
linux core文件介绍
1. core文件的简单介绍在一个程序崩溃时,它一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。2. 开启或关闭core文件的生成用以下命令来阻止系统生成core文件:ulimit -c 0下面的命令可以检查生成core文件的选项是否打开:ulimit -a该命令将显示所有的用户定制,其中选项-a代表“all”。也可以修改系统文件来调整转载 2016-09-23 11:38:39 · 549 阅读 · 0 评论 -
C++实现一个线程安全的单例工厂
我们见到经常有人用 static 局部对象的方式实现了类似单例模式,最近发现一篇文章明确写明 编译器在处理 static局部变量的时候 并不是线程安全的 !!!http://blogs.msdn.com/b/oldnewthing/archive/2004/03/08/85901.aspx 于是实现了一个单例工厂 并且是线程安全的#ifndef SINGLETONFACTORY_H#原创 2015-11-07 19:56:22 · 2544 阅读 · 0 评论 -
Linux下C编程-----IO/文件操作 模拟linux ls程序显示文件系统树形结构(2)
Linux下的IO/文件操作练习,知识虽然简单 但是往往基础容易被忽略,偶尔的练习是有必要的。 练习printf/************************************************************************* > File Name: printf.c > Author: > Mail: > Created Ti原创 2015-02-13 16:30:43 · 2521 阅读 · 0 评论 -
Linux下C程序设计(4)----操作环境变量 、程序传递参数getopt getopt_long操作、获取时间
通过命令传递参数查看环境变量 /************************************************************************* > File Name: env.c > Author: > Mail: > Created Time: Tue 24 Feb 2015 10:42:21 PM PST ****************原创 2015-02-26 22:00:43 · 1644 阅读 · 0 评论 -
Linux C程序设计系列之 练习系统调用文件IO、内存映射程序 编写ls程序
文章目录 1.1 Linxu C系统调用例子代码 1.2 模拟Linux系统ls 程序 显示树形结构目录 1.3内存共享实现简单的数据共享 下面是 1.2程序截图下面是1.3程序截图原创 2015-02-13 21:45:31 · 1390 阅读 · 0 评论 -
Linux下C编程-----IO/文件操作/内存映射 实现简单记录存储(3)
利用linux下的文件内存映射可以实现进程共享数据,我们可以把一个文件映射到虚拟内存中使多个进程进行共享,到这里我们大概能想到他能应用到的领域 是很广泛的 主要涉及到 mmap munmap msync 三个函数的应用下面贴代码 下面一段代码是为文件建立一个简单的记录存储,并且通过内存映射修改文件内容/*******************************原创 2015-02-13 21:15:10 · 3418 阅读 · 0 评论 -
Linux下C编程-----文件操作(1) 通过系统调用简单操作标准输入、标准输出、标准错误
Linux的 C系统调用操作 ,下面我们就来练习下 简单的系统调用操作read系统调用测试/************************************************************************* > File Name: read.c > Author: > Mail: > Created Time: Tue 10 Feb 2015原创 2015-02-10 21:57:18 · 4675 阅读 · 1 评论