Linux提供两种信号量:
1、内核信号量,由内核控制路径使用
2、System V IPC信号量,由用户态进程使用
从本质上说,它们实现了一个加锁原语,即让等待者睡眠,直到等待的资源变为空闲。
信号量
内核信号量类似于自旋锁,因为当锁关闭着的时候,它不允许内核控制路径继续运行。然而,当内核内核控制路径试图获取内核信号量所保护的忙资源时,相应的进程被挂起。只有在资源被释放时,进程才再次变...
分类:
其他好文 时间:
2014-05-18 18:43:39
阅读次数:
294
话说有些事情十分适合在放假前的一天折腾一天,但绝对不适合在你准备去吃饭前多看一眼...我上周就碰到了这么一件揪心的事,最终以低血糖收场,十分狼狈地四处觅食,却觅到了一包超级辣的鸡爪,吃完后感觉症状加重了,于是向邻座的同事乞讨了巧克力糖,唉...这一切起源于我在准备吃午饭前一头扎进了一个技术问题,本以为能靠配置搞定,最终却还是不得不以修改The Fxxxing code告终!事情起源于公司的一个禁令...
分类:
系统相关 时间:
2014-05-18 14:47:43
阅读次数:
455
(一)kill和raise函数
kill函数将信号发送给进程或进程组。raise函数则允许进程自身发送信号。
#include
#include
int kill(pid_t pid, int sig);
int raise(int signo); //返回值:若成功则返回0,若出错则返回-1。
参数:pid参数有4种...
分类:
系统相关 时间:
2014-05-18 08:50:13
阅读次数:
360
这里并不是系统详细介绍每一个Linux命令,仅仅是记录本人在平时工作中经常用到的一些比较基础的命令及相关的参数,同时用了一些简单的例子来说明这些命令的用途,以及如何用多种命令来实现同一种功能。
1、ls命令
要显示当前目录下的文件列表时,我经常就使用ls命令的以下...
分类:
系统相关 时间:
2014-05-18 08:11:19
阅读次数:
335
[ sed简介: ]
sed是一个很好的文件处理工具, 它本身是一个管道命令, 以行为单位进行处理, 可以用于对数据行进行新增、选取、替换、删除等操作。
sed命令行格式:sed [-nefri] 'range command' file
[ sed工作流程: ]
使用vim这种屏幕编辑器编辑一个文件的时候, 我们需要把这个文件打开, 这里存在两个问题:
1. 打开一个比较大的文件会消耗很多内存。
2. 我们无法写脚本调用vim来编辑文件, 但是sed可以通过写脚本编辑文件。...
分类:
系统相关 时间:
2014-05-18 06:53:12
阅读次数:
551
(一)不可靠信号
对前面说的信号,是不可靠的,不可靠指的是信号可能会丢失:一个信号发生了,但进程却可能一直不知道这一点。另外,进程对信号的控制能力有限,只能捕捉信号或忽略它。有时用户希望通知内核阻塞一个信号:不要忽略它,在其发生时记住它,然后在进程做好准备时再通知它。这种阻塞信号的能力并不具备。
之前的版本中村咋一个问题:在进程每次接到信号对其进行处理时,随即将该信号动作复位为默认值。另一个问...
分类:
系统相关 时间:
2014-05-18 06:48:10
阅读次数:
290
oracle乱码问题一般是由于oracle字符集设置和操作系统字符集设置不一致造成的,这里不得不提到两个操作系统环境变量,LANG和NLS_LANG
LANG是针对Linux系统的语言、地区、字符集的设置,对linux下的应用程序有效,如date
NLS_LANG是针对Oracle语言、地区、字符集的设置,对oracle中的工具有效
很显然,需要修改NLS_LANG环境变量
查看o...
分类:
数据库 时间:
2014-05-18 04:22:26
阅读次数:
262
cut是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的。(1)其语法格式为:cut
[-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file]使用说明cut 命令从文件的每一行剪切字节...
分类:
系统相关 时间:
2014-05-17 23:18:03
阅读次数:
530
安装完Linux
Mint后,发现系统中竟没有中文输入法,语言支持之后自动更新过程中有些安装包下载失败。可以采取下面的方法安装上中文输入法。1. 安装iBus:sudo
add-apt-repository ppa:shawn-p-huang/ppasudo apt-get updatesudo a...
分类:
系统相关 时间:
2014-05-17 23:12:51
阅读次数:
441
常规篇:首先,用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 11:38 pts/0...
分类:
系统相关 时间:
2014-05-17 23:07:45
阅读次数:
614