linux&script
文章平均质量分 62
hitrose27
熟男
展开
-
Learning awk(1)--内建变量
Built-in Variablesawk的内建变量:ARGC 同CARGIND being processed 的index(英文的描述更精确一点)ARGV 同C.BINMODE On n原创 2011-08-02 14:55:35 · 807 阅读 · 0 评论 -
初学AutoMake
这个东西的战略意义大于实际意义,嗯,还是从一个简单的例子开始作介绍,从写一个自己的HelloWorld程序开始:查看自己的automake有木有安装,aclocal --version; autoconf --version; automake --version,没有的话,装一个新建一个文件夹test,在该文件夹下写一个hello world的程序#include using n原创 2012-08-07 15:08:57 · 729 阅读 · 0 评论 -
makefile中的一些常用变量
一、MAKE中的自动变量: $@: 表示target的名字 $%: 仅当目标是函数库文件中,表示规则中的目标成员名。例如,如果一个目标是"foo.a(bar.o)",那么,"$%"就是"bar.o","$@"就是 "foo.a"。 $ $?: 表示所有比target更新的依赖条件的名字列表 $^: 表示所有依赖条件的名字,同时去除依赖列表中重复的条转载 2012-11-15 21:51:15 · 975 阅读 · 0 评论 -
linux多线程条件下的计数
转载自http://soft.chinabyte.com/os/412/12200912.shtml最近编码需要实现多线程环境下的计数器操作,统计相关事件的次数。下面是一些学习心得和体会。不敢妄称原创,基本是学习笔记。遇到相关的引用,我会致谢。 当然我们知道,count++这种操作不是原子的。一个自加操作,本质是分成三步的: 1 从缓存取到寄存器 2 在寄存器转载 2012-11-19 09:31:40 · 886 阅读 · 0 评论 -
如何写好一个守护进程
int daemonize(int dump_core){ int status; pid_t pid, sid; int fd; pid = fork(); if ((pid = fork()) == -1) {//means error occur fprintf(stderr, "fork failed:%s", strerror原创 2013-03-05 09:02:35 · 1164 阅读 · 0 评论 -
linux 进程句柄数量
---查看Linux系统默认的最大文件句柄数,系统默认是1024# ulimit -n1024----查看当前进程打开了多少句柄数# lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more131 24204 57 24244 57 24231 ........其中第一列是打开的句柄数,第二列是进程ID。可转载 2013-03-07 08:48:20 · 1079 阅读 · 0 评论 -
crontab
在crontab中添加了定时任务,但发现没有得到期望的结果,因而怀疑是crontab没有执行相应的任务,但怎么定位crontab是否执行呢?这就需要查看crontab的执行历史记录,具体位置如下:cd /var/logtail -100 cron在cron文件中即可查阅已经操作过的相关定时任务。转载 2013-03-07 08:47:05 · 769 阅读 · 0 评论 -
__attribute__的一些小用法
#include using namespace std;//============================part 1st =======================================//format//===========================================================================//原创 2013-03-13 11:42:24 · 968 阅读 · 0 评论 -
crontab追加信息
crontab并没有提供追加字段的功能,这里可以使用一个比较trick的方式。将需要追加的crontab内容写到crontab.add中crontab -l >> crontab.addcrontab crontab.add即,将需要追加的crontab信息保存至crontab.add中,然后使用crontab -l命令将所有的crontab重定向到文件中,最后重新加载即可~原创 2013-08-18 18:47:57 · 3650 阅读 · 0 评论 -
那些年,和ssh战斗的日子
linux开发,远程执行命令是一个绕不过去的问题。需要启动程序,一直执行,解决方法有三个:nohupscreendaemon现在将问题简单升级一下,需要在一台中控机上启动其它服务器上所有的程序,怎么解决?问题可以分解为密码校验、远程执行命令两个部分。密码校验可以使用互信的方式,具体参考ssh。现在主要说的是如何在远程执行一个程序,并且让该程序在后台运行。ss原创 2013-08-13 13:20:31 · 1171 阅读 · 0 评论 -
混合编程 -- 实现C自动编译以及thrift文件实现生成定义文件
混合编程是啥呢?混合编程是指使用两种或两种以上的程序设计语言来开发应用程序的过程。目前,计算机上流行的程序设计语言有多种,它们有各自的优势和不足,混合编程可以充分利用各种程序设计语言的优势。混合编程的关键问题是参数传递。上面的来自百度百科。简单来说,就是使用一种以上的语言进行代码的书写。在linux下进行开发的时候,需要编写一些makefile来支持C/C++的开发,但是,混合原创 2012-08-02 17:07:15 · 1285 阅读 · 0 评论 -
perl和mysql的api
DBI是一个许多数据库通用的接口,这意味着你可以写出一个可以工作于许多不同的数据库的脚本。为此,你需要一个为每中数据库类型定义的DATABASE DRIVER(DBD),对于MySQL来说,这个驱动程序叫DBD::mysql。你可以参考DBIs web page以获得更多的信息。为了获得在Perl5中的关于面向对象编程的概念,请参考the perl OOP page 三、DBI接口原创 2012-07-04 17:40:15 · 918 阅读 · 0 评论 -
Learning awk(2)--基本的数据类型
Arrays数组Arrays are subscripted with an expression between square brackets ([ and ]). If the expression is an expression list原创 2011-08-02 16:50:14 · 1716 阅读 · 0 评论 -
linux特殊变量
$# 传送给命令Shell的参数序号 $- 在Shell启动或使用set命令时提供选项 $? 上一条命令执行后返回的值 $$ 当前shell的进程号 $! 上一个子进程的进程号 $@ 所有的参数,每个都用双括号括起 $*转载 2011-08-25 11:09:09 · 732 阅读 · 0 评论 -
操作系统的pv
P,V原语是操作系统里进程之间通信用到的两种操作,在我们研究进程间的互斥的时候经常会引入这个概念,将P,V操作方法与加锁的方法相比较,来解决进程间的互斥问题。实际上,他的应用范围很广,他不但可以解决进程管理当中的互斥问题,而且我们还可以利用此方法解决进程同步与进程通信的问题。转载 2011-10-16 10:53:45 · 1045 阅读 · 0 评论 -
linux c pv 实现生产者消费者模型
//信号量---线程间通信//“生产者消费者” 问题#include#include#include#include#include#define msleep(x) usleep(x*1000)#define PRODUCT_SPEED 3 //生产速度转载 2011-10-17 16:25:18 · 1608 阅读 · 0 评论 -
ubuntu安装全流程
最近一直在折腾这个系统,一开始是wubi安装,后来用用觉得不错,把windows删除了。但是wubi安装并不能发挥其最大作用,然后做了硬盘搬家,但是又碰见了多余硬盘空间使用麻烦的问题,一气之下直接把硬盘格掉全部重装。 现在留个文档,以供以后再次重装时查阅。 1. 制作U盘启动盘:下载ubuntu的镜像,在系统->系统管理->创建启动盘中可以进行制作,该过程比较简单。原创 2012-05-07 10:10:12 · 656 阅读 · 0 评论 -
linux 静态代码检测工具valgrind的安装及使用
使用valgrind检查代码是否有内存泄露是比较好的办法。下面简单介绍valgrind的安装及使用。安装:最新的版本可以在http://www.cnblogs.com/chingliu/archive/2011/12/10/2288633.html上查找,下面以3.7为例,简单介绍:wget http://www.valgrind.org/downloads/valgrin原创 2012-05-07 10:08:53 · 2022 阅读 · 0 评论 -
linux 输出信息
bool bPhaseEnd = false; for (int i = 0; i <= 10; ++i) { if ( i == 10 ) { bPhaseEnd = true; } fprintf ( stdout, "%s%d%c","procesing ", i, bPhaseEnd ? '\n' :原创 2012-06-10 13:57:40 · 541 阅读 · 0 评论 -
linux下动态加载文件
#ifndef _WATCHER_H_#define _WATCHER_H_#include #include #include // We often want to know if a file was just now created or updated (then we// may reload the file to get latest data). FileWatc原创 2012-06-14 11:12:07 · 907 阅读 · 0 评论 -
linux 获取文件大小
摘自: http://os.51cto.com/art/200912/168700.html 在我们学习生活中经常会遇到问题和困难,就比如说我们在学习Linux时,比如怎样Linux获取文件大小的方法。前几天在工作中需要写一段代码,获取一些视频文件的大小,心想:这还不简单吗?直接用标准C的文件操作函数就OK了。于是写了下面的一段代码来实现:unsigned long get_fi转载 2011-08-10 13:15:59 · 632 阅读 · 0 评论 -
perl处理excelwenjian
#!/usr/bin/perluse strict;use Win32::OLE qw(in with);use Win32::OLE::Const 'Microsoft Excel';$Win32::OLE::Warn = 3; # die on errors...# get already act原创 2013-08-26 23:07:13 · 1081 阅读 · 0 评论