linux
文章平均质量分 83
I_am_a_Little_bird
这个作者很懒,什么都没留下…
展开
-
signal函数、sigaction函数及信号集操作函数
信号是与一定的进程相联系的。也就是说,一个进程可以决定在进程中对哪些信号进行什么样的处理。例如,一个进程可以忽略某些信号而只处理其他一些信号;另外,一个进程还可以选择如何处理信号。总之,这些总与特定的进程相联系的。因此,首先要建立其信号和进程的对应关系,这就是信号的安装登记。Linux主要有两个函数实现信号的安装登记:signal和sigaction。其中signal在系统调用的基础上实现转载 2016-03-17 16:12:01 · 488 阅读 · 0 评论 -
Nginx工作原理和优化、漏洞。
1. Nginx的模块与工作原理Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。Nginx的模块从结构上分为核心模块、基础模块和第转载 2016-03-21 19:21:38 · 441 阅读 · 0 评论 -
MemCache基础知识介绍
memcache作为高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。memcache的工作原理:首先 memcached 是以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,客户端在与 memcached 服务建立连接之后,接下来的事情就是存取对象了,每个被存取的对象都有一个唯转载 2016-03-22 12:18:01 · 403 阅读 · 0 评论 -
关于linux 下fcntl()函数的介绍
表头文件 #include #include 定义函数 int fcntl(int fd , int cmd); int fcntl(int fd,int cmd,long arg); int fcntl(int fd,int cmd,struct flock * lock); fcntl()用来操作文件描述词的一些特性。参数fd代表欲设置的文件描述词,参数cmd代表欲操作的指令。转载 2016-03-23 15:02:59 · 573 阅读 · 0 评论 -
linux下epoll详解
1、基本知识 epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy只需一次。2、epoll接口 epoll操作过程需要三个接口,分别如下:转载 2016-03-23 16:10:26 · 379 阅读 · 0 评论 -
linux 下共享内存shm详解
共享内存是系统出于多个进程之间通讯的考虑,而预留的的一块内存区。在/proc/sys/kernel/目录下,记录着共享内存的一些限制,如一个共享内存区的最大字节数shmmax,系统范围内最大共享内存区标识符数shmmni等,可以手工对其调整,但不推荐这样做。一、应用共享内存的使用,主要有以下几个API:ftok()、shmget()、shmat()、shmdt()及shmctl()转载 2016-03-23 17:09:06 · 8099 阅读 · 1 评论 -
linux下的VI命令大全
linux下vi命令大全进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename转载 2016-03-24 12:04:01 · 400 阅读 · 0 评论 -
linux系统调用---getrlimit()与setrlimit()
功能描述:获取或设定资源使用限制。每种资源都有相关的软硬限制,软限制是内核强加给相应资源的限制值,硬限制是软限制的最大值。非授权调用进程只可以将其软限制指定为0~硬限制范围中的某个值,同时能不可逆转地降低其硬限制。授权进程可以任意改变其软硬限制。RLIM_INFINITY的值表示不对资源限制。用法:#include int getrlimit(int resource, s转载 2016-03-24 16:54:00 · 405 阅读 · 0 评论 -
LINUX下动态链接库的使用-dlopen() dlsym() dlclose() dlerror()
dlopen基本定义 功能:打开一个动态链接库 包含头文件: #include 函数定义: void * dlopen( const char * pathname, int mode ); 函数描述: 在dlopen的()函数以指定模式打开指定的动态连接库文件,并返回一个句柄给调用进程。使用dlclose()来卸载打开的库。转载 2016-03-24 17:02:59 · 593 阅读 · 0 评论 -
Linux 命令 --------lsof
lsof 常用命令原文地址:Lsof 是遵从Unix 哲学的典范,它只做一件事情,并且做的相当完美——它可以列出某个进程打开的所有文件信息。打开的文件可能是普通的文件,目录,NFS文件,块文件,字符文件,共享库,常规管道,明明管道,符号链接,Socket流,网络Socket,UNIX域Socket,以及其它更多。因为Unix系统中几乎所有东西都是文件,你可以想象ls转载 2016-03-21 15:09:41 · 370 阅读 · 0 评论 -
linux 中FORK()函数详解
一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来转载 2016-03-17 16:24:26 · 306 阅读 · 0 评论 -
网络进程通信——Socket
IP socket 是在其上建立高级Internet 协议的最低级的层:从HTTP到SSL到POP3到Kerberos再到UDP-Time,每种Internet协议都建立在它的基础上。为了实现自定义的协议,或定制众所周知的协议的实现,程序员需要掌握基本的socket基础结构的工作知识。 1、网络进程间的通信--Socket 我们知道本地的进程间通信(IPC)有很多种方式,通常可转载 2016-03-18 10:59:19 · 2928 阅读 · 0 评论 -
Linux下的Select函数详解
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式转载 2016-03-18 14:48:30 · 526 阅读 · 0 评论 -
select()、poll()、epoll()的区别
select()系统调用提供一个机制来实现同步多元I/O:#include sys/time.h>#include sys/types.h>#include unistd.h>int select (int n,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,struct timeval转载 2016-03-18 15:26:08 · 316 阅读 · 0 评论 -
linux下CMYSQL编程1
要进行linux下的mysql的C编程,需要安装mysql及mysql的开发包,ubuntu下直接apt-get install libmysql++安装开发包。#include 相关函数:MYSQL *mysql_init(MYSQL *);//这里称之为载入函数吧,返回的MYSQL指针要用到后续的函数中int mysql_options(MYSQL *conn转载 2016-03-18 17:35:47 · 244 阅读 · 0 评论 -
linux下c mysql编程函数总结2
说是C++下的MySQL编程,其实用的还是MySQL自带的C API,因为在我学习的一份游戏的C++源代码中,就是直接使用的C API,还有一份是基于C++封装的MySQ++ API包,这个我还不了解,以后有时间研究一下。在对MySQL的操作中,主要需要熟悉几个API,这里我总结了一下我遇到的常用的API以及对应的数据结构,最后举一个例子表明这些API的使用。常用MyS转载 2016-03-18 17:36:36 · 452 阅读 · 0 评论 -
linux下的fcntl()函数
【fcntl系统调用】 功能描述:根据文件描述词来操作文件的特性。 用法: int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct flock *lock); 参数: fd:文转载 2016-03-21 10:09:45 · 408 阅读 · 0 评论 -
linux 下的 动态库加载函数总结
dlopen基本定义 功能:打开一个动态链接库 包含头文件: #include 函数定义: void * dlopen( const char * pathname, int mode ); 函数描述: 在dlopen的()函数以指定模式打开指定的动态连接库文件,并返回一个句柄给调用进程。使用dlclose()来卸载打开的库。转载 2016-03-21 10:10:44 · 781 阅读 · 0 评论 -
linux下的pipe()管道函数
1. 函数说明pipe(建立管道):1) 头文件 #include2) 定义函数: int pipe(int filedes[2]);3) 函数说明: pipe()会建立管道,并将文件描述词由参数filedes数组返回。 filedes[0]为管道里的读取端 filedes[1]则为管道的写入端。4) 返回值:转载 2016-03-21 10:13:31 · 409 阅读 · 0 评论 -
linux下的curl命令
一、参数详解 -M/--manual 显示全手动 -n/--netrc 从netrc文件中读取用户名和密码 --netrc-optional 使用 .netrc 或者 URL来覆盖-n --ntlm 使用 HTTP NTLM 身份验证 -N/--no-buffer 禁用缓冲输出 -o/--output转载 2016-03-25 12:02:27 · 859 阅读 · 0 评论