Linux
文章平均质量分 71
dcjhyn
我很平凡,但我有一颗向上的心,不奢求惊天动地,小有成就可以给予身边的人幸福即可
展开
-
Linux中find的常用用法
三个主要的变动时间1.access time(atime)当文件内容被“取用”时,更新这个读取时间。比如使用cat去读取file就会更新该文件的atime。2.status time(ctime)当文件的“状态”改变时,更新这个时间。比如文件权限和属性被更改时3.modification time(mtime) 当文件内容改变时,会更新这个时间。原创 2017-02-16 12:45:38 · 328 阅读 · 0 评论 -
shell脚本截取字符串
Linux 的字符串截取很有用。有八种方法。 假设有变量 var=http://www.123.com/456.htm.1、# 号截取,删除左边字符,保留右边字符。 代码如下:echo ${var#*//}其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符 即删除 http:// 结果是 :www.123.com/456.htm2、## 号截取原创 2017-07-15 18:16:59 · 190 阅读 · 0 评论 -
Linux下select函数编写服务器
select函数 1、select的作用 系统提供select函数来实现多路复用输入/输出模型。select系统调用是用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。关于文件句柄,其实就是一个整数,我们最熟悉的句柄是0、1、2三个,0是标准输入,1是标准输出,2是标准错误输出。0、1、2是整数表示的,对应的FILE *原创 2017-07-06 16:54:33 · 488 阅读 · 0 评论 -
crond和crontab
一 crond服务crond位于/etc/rc.d/init.d/crond 或 /etc/init.d 或 /etc/rc.d /rc5.d/S90crond,最总引用/var/lock/subsys/crond。crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进原创 2017-07-14 16:46:38 · 259 阅读 · 0 评论 -
linux shell脚本中的``和$()的区别
linux shell脚本中的“和$()的区别,先让我们看一个实例我编写了一个test.sh的脚本文件 注意:shell脚本中用#注释#! /bin/bashecho `echo \$HOSTNAME` #反引号echo $(echo \$HOSTNAME) #$()使用sh -x test.sh来分析bash如何来解释这个脚本,返回的信息如下: 通过上图我们可以得出两个结论: 1原创 2017-06-23 18:40:24 · 2713 阅读 · 0 评论 -
linux下的eval指令
eval command-line 其中command-line是在终端上键入的一条普通命令行。然而当在它前面放上eval时,其结果是shell在执行命令行之前扫描它两次。如: pipe=”|” eval ls $pipe wc -l shell第1次扫描命令行时,它替换出pipe的值|,接着eval使它再次扫描命令行,这时shell把|作为管道符号了。 如果变量中包含任何需要shell直翻译 2017-06-23 19:46:23 · 494 阅读 · 0 评论 -
Linux下struct timeval结构体
转载自:http://blog.chinaunix.net/uid-20548989-id-2533161.htmlstruct timeval { __time_t tv_sec; /* Seconds. */ __suseconds_t tv_usec; /* Microseconds. */ }; 其中,tv_sec为Ep转载 2017-06-12 11:08:05 · 928 阅读 · 0 评论 -
Linux网络编程 基于tcp的多线程的服务器
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <netinet/in.h> #include <arpa/inet.h> #include <pthread.h> #include <sys/socket.h> static void Usage(const char* arg)原创 2017-06-04 13:53:52 · 238 阅读 · 0 评论 -
进程池、线程池、内存池
池的概念由于服务器的硬件资源“充裕”,那么提高服务器性能的一个很直接的方法就是以空间换时间,即“浪费”服务器的硬件资源,以换取其运行效率。这就是池的概念。池是一组资源的集合,这组资源在服务器启动之初就完全被创建并初始化,这称为静态资源分配。当服务器进入正式运行阶段,即开始处理客户请求的时候,如果它需要相关的资源,就可以直接从池中获取,无需动态分配。很显然,直接从池中取得所需资源比动态分配资源的速度要转载 2017-06-03 12:43:47 · 327 阅读 · 0 评论 -
在Linux环境下模拟实现sleep函数
在Linux环境下模拟实现sleep函数 1 #include <stdio.h> 2 #include<unistd.h> 3 #include<signal.h> 4 void handler(int sig) 5 {} 6 7 int mysleep(int timeout) 8 { 9 struct sigaction act, oact; 10原创 2017-05-16 16:30:51 · 344 阅读 · 0 评论 -
线程安全与可重入的关系
线程安全与可重入性是两个不同性质的概念。可重入是在单线程操作系统背景下,重入的函数或者子程序,按照后进先出的线性序依次执行完毕。多线程执行的函数或子程序,各个线程的执行时机是由操作系统调度,不可预期的,但是该函数的每个执行线程都会不时的获得CPU的时间片,不断向前推进执行进度。可重入函数未必是线程安全的;线程安全函数未必是可重入的。例如,一个函数打开某个文件并读入数据。这个函数是可重入的,因为它的多转载 2017-05-24 23:29:39 · 453 阅读 · 0 评论 -
atexit的验证、-t权限(粘滞位)及File文件
函数原型: int atexit(void (*function)(void)); 包含头文件:#include #include<stdio.h>#include<stdlib.h>void fun1(){ printf("function:fun1\n");}void fun2(){ printf("function:fun2\n");}void fun3()转载 2017-04-23 14:03:23 · 272 阅读 · 0 评论 -
进程调度算法
进程调度:在操作系统中调度是指一种资源分配,因而调度算法是指:根据系统的资源分配策略所规定的资源分配算法。操作系统管理了系统的有限资源,当有多个进程(或多个进程发出的请求)要使用这些资源时,因为资源的有限性,必须按照一定的原则选择进程(请求)来占用资源。这就是调度。目的是控制资源使用者的数量,选取资源使用者许可占用资源或占用资源。 批处理系统中的调度算法,代表调度算法有:先来先服务、最短作原创 2017-02-19 11:43:46 · 402 阅读 · 0 评论 -
task_struct--Linux结构体字段介绍
Linux内核通过一个被称为进程描述符的task_struct结构体来管理进程,task_struct是Linux中的【进程控制块PCB结构】的具体数据结构这个结构体包含了一个进程所需的所有信息。它定义在linux-2.6.38.8/include/linux/sched.h文件中。下面对task_struct这个结构体 进行各个字段的详细介绍1. 调度数据成员转载 2017-02-18 14:16:53 · 301 阅读 · 0 评论 -
linux下的简易进度条
回车与换行回车:回到该行开始位置 ----"\r"换行:另起一行-----------------“\n”sleep和fflushsleep:将进程挂起 单位为1秒;usleep:单位为1微秒(1秒=10^6微秒)fflush:刷新缓存区,将缓存区的内容输出或输入原创 2017-02-16 19:00:56 · 534 阅读 · 0 评论 -
centos6.5的vim配置
效果图:set nocompatible 取消vi一致性syntax on " 语法高亮"colorscheme ron " elflord ron peachpuff default 设置配色方案,vim自带的配色方案保存在/usr/share/vim/vim72/colors目录下" detect file typefiletype原创 2017-02-16 13:17:15 · 315 阅读 · 0 评论 -
select,poll,epoll总结
select的几大缺点:(1)每次调用select,都需要把fd集合从用户态拷贝到内核态,这个开销在fd很多时会很大(2)同时每次调用select都需要在内核遍历传递进来的所有fd,这个开销在fd很多时也很大(3)select支持的文件描述符数量太小了,默认是1024poll的实现和select非常相似,只是描述fd集合的方式不同,poll使用pollfd结构而不是select的fd_set结构,其原创 2017-09-09 13:59:37 · 227 阅读 · 0 评论