![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
searchwang
这个作者很懒,什么都没留下…
展开
-
MakeFile
http://blog.csdn.net/haoel/article/details/2886转载 2014-04-29 17:24:19 · 359 阅读 · 0 评论 -
UNIX下C语言----管道
http://blog.csdn.net/wolfzone025/article/details/5741147转载 2014-06-12 17:00:22 · 504 阅读 · 0 评论 -
linux-多线程
http://blog.csdn.net/lanyan822/article/details/7586845大牛文章linux 多线程转载 2014-06-10 17:13:59 · 348 阅读 · 0 评论 -
linux中select()函数分析
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式转载 2014-06-15 21:14:02 · 333 阅读 · 0 评论 -
关于waitpid()中的WNOHANG
WNOHANG 拆解为 W NO HANG,即不阻塞模式。原创 2014-06-14 21:43:43 · 11109 阅读 · 1 评论 -
关于socket 的accept()
当执行accept()函数时,进程会在该句阻塞,直到监听到链接原创 2014-06-14 21:45:16 · 607 阅读 · 0 评论 -
gethostname()与gethostbyname()
gethostname()int main(){char name[65];gethostname(name, sizeof(name));printf("hostname = %s\n", name);}gethostbyname()原创 2014-06-14 22:10:19 · 572 阅读 · 0 评论 -
fcntl和select函数彻底搞明白
fcntl和select函数彻底搞明白 第一、fcntl函数详细使用 fcntl有强大的功能,它能够复制一个现有的描述符,获得/设置文件描述符标记,获得/设置文件状态标记,获得/设置异步I/O所有权,获得/设置纪录锁。当多个用户共同使用,操作一个文件的情况,Linux通常采用的方法就是给文件上锁,来避免共享资源产生竞争的状态。fcntl文件锁有两种类型:建议性锁和强制转载 2014-06-15 18:22:52 · 1332 阅读 · 0 评论 -
linux下杀死进程(kill)的N种方法
常规篇: 首先,用ps查看进程,方法如下:$ ps -ef……smx 1822 1 0 11:38 ? 00:00:49 gnome-terminalsmx 1823 1822 0 11:38 ? 00:00:00 gnome-pty-helpersmx 1824 1822 0转载 2014-06-16 10:46:54 · 413 阅读 · 0 评论 -
recv()
没收到信息会阻塞到这一句。原创 2014-06-15 14:42:51 · 413 阅读 · 0 评论 -
在环境变量里设置VI中TAB缩进
终端上的tab键默认是缩进8个空格的(记住8个空格不等于一个tab, tab和空格不是一个概念)一般设置vim的tab(制表符)的缩进的时候都这样:set tabstop=4 ” 表示让tab的宽度显示成和4个空格的宽度一样设置完后你不要以为这时候一个tab等于4个空格了,它们不相等,那什么时候相等呢?set expandtab ” 表示将tab(制表符)变成空格设置完后,一个4个转载 2014-06-17 17:45:42 · 440 阅读 · 0 评论 -
Linux静态库和动态库的分析
库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀。例如:libhello.so libhello.a 为了在同一系统中使用不同版本的库,可以在库文件名后加上版本号为后缀,例如: libhello.so.1.0,由于程序连接默认以.so为文件后缀名。所以为了使用这些库,通常使用建立符号连接的方式。 ln -s libhello.so.1.0 libhello.so.1 ln -s转载 2014-06-18 16:19:28 · 274 阅读 · 0 评论 -
Linux 文件系统的目录结构
Linux下的文件系统为树形结构,入口为/ 树形结构下的文件目录: 无论哪个版本的Linux系统,都有这些目录,这些目录应该是标准的。各个Linux发行版本会存在一些小小的差异,但总体来说,还是大体差不多。1. / 文件系统的入口,最高一级目录;2. /bin 基础系统所需要的命令位于此目录,是最小系统所需要的命令,如:ls, cp, mkdir等。这个目录中的文件都是可执行的,一般的用转载 2014-10-14 22:07:21 · 898 阅读 · 0 评论 -
pipe()函数的使用
pipe(建立管道)表头文件 #include定义函数 int pipe(int filedes[2]);函数说明 pipe()会建立管道,并将文件描述词由参数 filedes 数组返回。 filedes[0]为管道里的读取端,所以pipe用read调用的 filedes[1]则为管道的写入端。 返回值:转载 2014-10-15 11:45:01 · 3082 阅读 · 0 评论 -
图解linux下top命令的使用
top命令经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。本文通过一个运行中的WEB服务器的top监控截图,讲述top视图中的各种数据的含义,还包括视图中各进程(任务)的字段的排序。 top进入视图top视图 01【top视转载 2014-06-20 19:08:10 · 314 阅读 · 0 评论 -
看懂这个例子中信号相关的所有函数是必要的,很必要!特别是例子中的
pthread_join编辑函数pthread_join用来等待一个线程的结束。目录1函数简介2函数应用▪ linux中的应用▪ pthread_join的应用3使用范例1函数简介编辑头文件 : #include 函数定义: int pth转载 2014-06-10 22:43:06 · 384 阅读 · 0 评论 -
linux clone
1 概述 1.1 线程的定义 传统的Unix进程概念在开发有分布式系统中的许多应用时已经显得力不从心(有时连简单的窗口响应问题都很难做好)。这些问题的最好解决之道就是线程,线程推 广了进程的概念使一个进程可以包含多个活动(或者说执行序列等等)。如今,由于线程概念的普及,在UNIX系统中已经普遍实现了线程机制,开发并发应用的程序员现在也可以广泛接触到线程的函数库了。 使用线程的优点在于:转载 2014-06-10 20:54:15 · 893 阅读 · 0 评论 -
linux shell 的:= 和 export
:= 与 =的区别= 当变量值为空原创 2014-04-30 17:03:16 · 417 阅读 · 0 评论 -
.vimrc设置
et expandtab,将tab键展开成空格 sta smartab,在行首按TAB将加入sw个空格 sw shiftwidth,自动缩进插入的空格数 sts softabstop,使用或自动插入或删除相应的空格数原创 2014-05-05 11:19:20 · 478 阅读 · 0 评论 -
shell笔记
1,单引号和双引号的区别:用双引号时不会取消掉里面出现的特殊字符的本身作用(这里的$),而使用单引号则里面的特殊字符全部失去它本身的作用。转载 2014-05-05 21:35:09 · 411 阅读 · 0 评论 -
Makefile
-D 宏定义原创 2014-05-05 20:27:39 · 473 阅读 · 0 评论 -
makefile命令收集
1,mkdir -p 如果一个目录的父目录不存在,就创建它。如,你想在当前目录的 dir 目录下 创建一个 menu 的目录,但是当前目录没有 dir 这个目录,就可以使用命令 mkdir -p dir/menu来创建。原创 2014-05-06 11:24:01 · 703 阅读 · 0 评论 -
hash_map中string为key的解决方法
http://www.2cto.com/kf/201212/175865.html?fw_key=B1F0185619DE4962转载 2014-05-16 17:04:00 · 538 阅读 · 0 评论 -
进入root权限,退出root权限
进入:su退出:su原创 2014-04-28 16:00:43 · 2236 阅读 · 0 评论 -
crontab用法
minute hour day month dayofweek command转载 2014-04-28 16:03:27 · 354 阅读 · 0 评论 -
一个有错的文章但是仍然有很强的学习点的文章
原帖链接不让贴一个建立线程时常见的问题:invalid conversion from `void*' to `void*(*)(void*)写程序,出错误,在CSDN博客上看到了前辈写的文章。作者:futuredaemon in BUPTvoid main_thread ( void *ptr ){char *message1 = "Thr转载 2014-06-11 11:28:06 · 496 阅读 · 0 评论 -
linux中fork()函数详解 雄文
http://blog.csdn.net/jason314/article/details/5640969一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数转载 2014-06-10 19:38:27 · 944 阅读 · 0 评论 -
linux下如何用GDB调试c++程序
GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。 一般来说,GDB主要帮忙你完成下面四个方面的功能:启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。可转载 2014-06-11 13:25:14 · 351 阅读 · 0 评论 -
那年,一步一步学linux c ---sigprocmask 阻塞进程
本系列文章由muge0913编写,转载请注明出处:http://blog.csdn.net/muge0913/article/details/73347711、有时候不希望在接到信号时就立即停止当前执行,去处理信号,同时也不希望忽略该信号,而是延时一段时间去调用信号处理函数。这种情况是通过阻塞信号实现的。 2、信号阻塞和忽略信号的区别。转载 2014-06-10 22:04:57 · 520 阅读 · 0 评论 -
sigset_t
信号集及信号集操作函数:信号集被定义为一种数据类型。typedef struct {unsigned long sig[_NSIG_WORDS];} sigset_t信号集用来描述信号的集合,linux所支持的所有信号可以全部或部分的出现在信号集中,主要与信号阻塞相关函数配合使用。下面是为信号集操作定义的相关函数:int sigemptyse转载 2014-06-10 21:37:51 · 784 阅读 · 0 评论 -
invalid conversion from ‘void*’ to ‘void* (*)(void*)’ 问题解决
pthread.cpp: In function ‘void thread1(char*)’:pthread.cpp:11: error: invalid conversion from ‘const void*’ to ‘void*’pthread.cpp:11: error: initializing argument 1 of ‘void pthread_exit(void*)’原创 2014-06-11 11:25:08 · 27350 阅读 · 4 评论 -
Linux上的free命令详解
解释一下Linux上free命令的输出。 下面是free的运行结果,一共有4行。为了方便说明,我加上了列号。这样可以把free的输出看成一个二维数组FO(Free Output)。例如:FO[2][1] = 24677460FO[3][2] = 10321516转载 2014-11-21 20:31:48 · 503 阅读 · 0 评论