- 博客(26)
- 资源 (15)
- 收藏
- 关注
转载 让Linux下的cron以秒为单位执行shell脚本的3种方法
crond只支持到分,不支持秒级别的定时任务。第一种方法:当然首先想到的是写一个触发的脚本,在触发脚本中使用死循环来解决此问题,如下:cat kick.sh 代码如下:#!/bin/bashwhile : ;do /home/somedir/scripts.sh 2>/dev/null & sleep 3done注意第一次运行时请不要使用 bas
2015-11-30 17:13:31 1175
转载 shell知识点01
linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出
2015-11-30 17:10:01 465
转载 shell命令中if语句的后街分号作用
关于shell脚本中分号(;)——命令分割符的使用说明分号是用来隔断每个语法关键字或命令的。对于字符的比较及其他shell语法关键字之间分号的使用方式相同。需要知道的是在不同的语法命令之间要用分号隔开或是换行方能执行,否则将会在调用脚本的时候报错。第一种test(){ if [ 1 -eq 1 ]; then echo "1=1"
2015-11-30 16:21:15 4211
转载 如何确保 Shell 脚本只有一个实例运行
在做维护的时候,经常要写一些脚本定期检查一些状态信息,而比较糟的时候可能该脚本在执行周期内没完成,接着第二个脚本又开始跑了。如何确保 Shell 脚本只有一个实例运行就成了一个比较有意思的话题。必需要承认,要做到 100% 的完美可能需要长篇大论才可以做到。如果对于粒度要求不高,这里总结两个粗糙的方法。一个是在脚本执行的时候判断某个文件的存在,如果不存在,则 touch创建该文件(该文件看
2015-11-30 16:01:56 2020
转载 linux下用core和gdb查询出现"段错误"的地方
有些时候我们在一段C代码的时候,由于对一个非法内存进行了操作,在程序运行的过程中,出现了"段错误"。呵呵,这种问题我想很多人会经常遇到。遇到这种问题是非常无语的,只是提示了"段错误",接着什么都没 有,如果我们一味的去看代码找太疼苦了,因为我们都相信自己写的代码没问题,现实就是现实。下面介绍一种方法,可以有效的定位出现"段错误的地方"。当我们的程序崩溃时,内核有可能把该程序
2015-11-30 15:27:18 681
转载 linux命令--watch,动态监测命令的结果
Linux的watch命令 — 实时监测命令的运行结果watch -d 'COMMANDS'watch 是一个非常实用的命令,基本所有的 Linux 发行版都带有这个小工具,如同名字一样,watch 可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。直接在 watch 后面接你想运行的命令,watch 就会帮你重复运行,并把每次的结果都更新在屏幕上。默认 watch 会以
2015-11-30 15:23:19 525
转载 Linux命令之trap - 在脚本中处理信号
用途说明rap是一个shell内建命令,它用来在脚本中指定信号如何处理。比如,按Ctrl+C会使脚本终止执行,实际上系统发送了SIGINT信号给脚本进程,SIGINT信号的默认处理方式就是退出程序。如果要在Ctrl+C不退出程序,那么就得使用trap命令来指定一下SIGINT的处理方式了。trap命令不仅仅处理Linux信号,还能对脚本退出(EXIT)、调试(DEBUG)、错误(ERR)、返回
2015-11-30 15:17:36 1260
转载 shell设置环境变量
一般脚本需要什么变量,最好在脚本里直接export,否则,可能会有很多不必要的环境变量被定义,或者如果有别人修改了你的bash配置文件,那么你的这个脚本就可能受到影响,所以尽量少依赖其他文件,尽量不要完整导入环境变量/etc/profile而导入环境变量的目的 是在特定环境变量下,有些变量被定义在其他位置,或者有些快捷命令在其他文件中有设定,而在当前文件的 子终端找不到该命令。所以执行
2015-11-30 14:15:21 1333
转载 shell脚本直接执行没有问题,crontab定时执行失败的解决方法
crontab 定时执行不生效:1.环境变量问题2.执行路径问题问题2往往可以归结为问题1,即配置环境变量。1.方法:在开头部分添加:PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binexport PATH注意,没有$,这里shell中默认把变量值当作字符串。shell变量是
2015-11-30 12:34:08 11743
转载 Linux 线程锁详解
在Posix Thread中定义有一套专门用于线程同步的mutex函数。 1. 创建和销毁 有两种方法创建互斥锁,静态方式和动态方式。POSIX定义了一个宏PTHREAD_MUTEX_INITIALIZER来静态初始化互斥锁,方法如下: pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER; 在LinuxThreads实现中,pthread_m
2015-11-30 11:31:56 600
转载 linux下的线程锁----原子锁
交换指令XCHG是两个寄存器,寄存器和内存变量之间内容的交换指令,两个操作数的数据类型要相同,可以是一个字节,也可以是一个字,也可以是双字[1] 。其指令格式如下:XCHG Reg/Mem, Mem/Reg,Reg/Reg该指令的功能和MOV指令不同,后者是一个操作数的内容被修改,而前者是两个操作数都会发生改变。寄存器不能是段寄存器,两个操作数也不能同时为内存变量。 XCHG指令不影响标志
2015-11-30 11:29:12 2728
转载 Linux高精确的时序(sleep, usleep,nanosleep)
方式一、 (sleep, usleep,nanosleep)本质上都是系统调用,但是精确程度不一样,依次递增。方式二、nice函数功能描述改变进程优先级,也就是改变进程执行的优先顺序。函数定义int nice(int inc);返回值成功执行时,返回新的nice值。失败返回-1参数介绍inc数值越大则优先级越低(进程执行慢),超级用户可以使用负的inc
2015-11-30 10:26:13 7849
转载 Linux的sleep()和usleep()的使用和区别
说明:usleep和sleep都是使用系统调用,但是usleep更加精确,但是不能实现实时延迟(系统调用消耗时间)函数名: sleep 头文件: #include // 在VC中使用带上头文件 #include // 在gcc编译器中,使用的头文件因gcc版本的不同而不同 功 能: 执行挂起指定的秒数 语 法: unsigned sleep(unsi
2015-11-30 10:14:48 3061
转载 python IP 处理模块IPy
最近做项目需要处理ip相关内容,由于c语言处理ip字符串需要自己检查相关的格式,故选择python类库IPy 。一、安装安装easy_install :yum -y install python-setuptools安装:easy_install IPy或者yum -y install python-IPy--------------------------
2015-11-26 14:10:03 4421
转载 使用c语言调用python小结
python模块:demo.py[python] view plaincopydef print_arg(str): print str def add(a,b): print 'a=', a print 'b=', b return a + b class Class_A: def __init__(sel
2015-11-26 14:02:53 1626
转载 umask与文件默认权限
现在,我们知道如何建立或者是改变一个目录或文件的属性了,不过,你知道,当建立一个新的文件或目录时,它的默认属性是什么吗?那就与umask有关了。那么,umask是什么呢?基本上,umask就是指定“当前用户在建立文件或目录时候的属性默认值”。那么,如何得知或设置umask呢?它以下面的方式来指定条件:[root@linux ~]# umask0022[root@linu
2015-11-24 10:29:45 1811
转载 命名空间的解释
使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突。在C++中,变量、函数和类都是大量存在的。如果没有命名空间,这些变量、函数、类的名称将都存在于全局命名空间中,会导致很多冲突。比如,如果我们在自己的程序中定义了一个函数toupper(),这将重写标准库中的toupper()函数,这是因为这两个函数都是位于全局命名空间中的。命名冲突还会发生在一个程序中使用两个或者更多的第三方库的情况中。
2015-11-18 09:18:52 453
转载 python获取操作系统平台、版本及架构
转自:http://openwares.net/linux/python_os_version_platform.htmlplatform模块提供了底层系统平台的相关信息系统架构32位还是64位>>> import platform>>> platform.architecture()('64bit', 'ELF') # python 3.3.2+ 64 bits on
2015-11-18 08:35:59 1445
转载 RPM 常用命令
RPM常用命令参数列表1.安装一个包# rpm -ivh2.升级一个包# rpm -Uvh [注意U一定要大写]-i 安装-U 升线安装-h 以#显示安装进度-v 显示附加信息3.移走一个包# rpm -e4.安装参数--force 即使覆盖属于其它包的文件也强迫安装--nodeps 如果该
2015-11-16 17:23:53 363
转载 图有关算法(prim、kruskal、dijkstra)
1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。注意该算法要求图中不存在负权边。问题描述:在无向图 G=(V,E) 中,假设每条边 E[i] 的长
2015-11-16 17:03:34 1028
转载 关于C语言的fprintf与fwrite使用区别
C语言把文件看作一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。根据数据的组织形式,可分为ASCII文件和二进制文件。ASCII文件又称为文本(text)文件,它的每个字节放一个ASCII代码,代表一个字符。二进制文件是把内存中的数据按其在内在中的存储形式原样输出到磁盘上存放。fprintf(fp, "%d", buffer);是将格式化的数据写入文件fprintf(文
2015-11-13 12:01:29 968
转载 正则表达式短横线"-"的转义写法示例
一直以为正则方括号内的短横线是要转义的,例:[a-z\-]其实“-”在紧挨边界的时候不需要转义,也就是说可以写成:[a-z-] 或 [-a-z]经过自己验证,我们暂且称“a-z”为“组”,结论是“在方括号边界或是组边界的都不需要转义。”[a-z-0-9]再试一试发现这样也可以,这样结论又变成“只要短横线(-)不能构成组,就可以不专一”,不知道这样说是否严密。[a-z!-
2015-11-11 10:54:41 17941 1
转载 在C语言中利用PCRE实现正则表达式
在C语言中利用PCRE实现正则表达式http://dev.jizhiinfo.net/?post=49(转载地址) 1. PCRE简介2. 正则表达式定义3. PCRE正则表达式的定义4. PCRE的函数简介5. 使用PCRE在C语言中实现正则表达式的解析6. PCRE函数在C语言中的使用小例子 1. PCRE简介PCRE(
2015-11-10 18:49:40 1927
转载 perl和python各自擅长什么领域?
设计一个语言的初始目的决定了该语言将会内建什么功能perl初始是Larry为了格式化处理文本而创建的所以内建了正则看python居然内建一个复数型别,我猜测Guido最初一定是为了数值计算而创建了pythonso,perl擅长文字处理,python擅长数值处理 Perl设 计之初就是为了方便编写复杂高效的系统脚本,它也是应该最为广泛的脚本编程语言。它在编程方面相当于瑞士军
2015-11-10 18:40:03 1606
转载 编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言的区别
强类型有:C,C++,OC,Java 弱类型有:PHP,Javascript,python, perl, ruby编译型和解释型。 我们先看看编译型,其实它和汇编语言是一样的:也是有一个负责翻译的程序来对我们的源代码进行转换,生成相对应的可执行代码。这个过程说得专业一点,就称为编译(Compile),而负责编译的程序自然就称为编译器(Compiler)。如果我们写的程序代码都包含在
2015-11-10 18:37:07 387
转载 无插件Vim编程技巧
浏览代码首先,我们先从浏览代码开始。有时候,我们需要看多个文件,所以,传统的做法是,我们开多个tty终端,每个tty里用Vim打开一个文件,然后来回切换。这很没有什么效率。我们希望在一个Vim里打开多个文件,甚至浏览程序目录。浏览目录的命令很简单:(你也可以直接vim一个目录):E注意,是大写。于是,你会看到下面这样的界面:这个界面中,你可以用 j, k 键上下
2015-11-09 11:49:35 241
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人