进程和计划任务

一、进程概念

   内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、 安全功能等

v Process:  运行中的程序的一个副本(文件),是被载入内存的一个指令集合,在内存中运行,系统指定一个内存空间和PID编号;进程IDProcess ID PID )号码被用来标记各个进程存在生命周期

        UID GID 、和SELinux 语境决定对文件系统的存取和访问权限,通常从执行进程的用户来继承

   task struct Linux 内核存储进程信息的数据结构格式(开发相关)

v task list :多个任务的的task struct 组成的链表,单个链表相当于指针从一个任务传到下一个任务

v  进程创建:initCentOS6systemdCentOS7 :第一个进程 ;克隆出子进程  

进程:都由其父进程创建 CoW 写(修改)时复制;

 父进程通过fork()fock函数生成子进程 , clone()克隆 生成一个新的内存空间,子进程就在新的空间修改

1.1 进程优先级

     CPU设定时间片),把进程分运行等级

    系统优先级: 数字越小,优先级越高

0-139 CentOS4,5) 各有140 个运行队列和等待过期队列

     0-98 99 CentOS6

实时优先级: 99-0 :值最大优先级最高

nice 值:-20 19 ,对应系统优先级100-139 99

v Big O :时间复杂度 ,用时和规模的线性关系 ;通过算法控制

        O(1), O(logn), O(n) 线性, O(n^2) 抛物线, O(2^n)

1.2进程内存及相互通讯

Page Frame:  页框,用存储页面数据,存储Page 4k

LRULeast Recently Used  近期最少使用算法, 释放内存(把进程代码调到swap,交换分区;这样内存空间腾出来)

物理地址空间和线性地址(虚拟3G空间324G内存,1G给系统内核,3G给内存)

MMU Memory Management Unitcpu里的硬件,进程管理单元) 负责转换线性(虚拟内存)和物理地址

v IPC: Inter Process Communication 进程间通讯

同一主机上1signal(信号)2shm: shared memory(共享内存)3semophore  信号量,一种计数器(加锁,不让其他进程访问)

不同主机上:1rpc: remote procedure call(远程过程调用)2socket: IP 和端口号

1.3 进程状态

v Linux 内核:抢占式多任务

进程类型:

  守护进程windows服务): daemon, 在系统引导过程中启动的进程,和终端无关进程

  前台进程:跟终端相关,通过终端启动的进程

注意:两者可相互转化,可把前台进程放到后台,也能相反。

v  进程状态:

运行态:running (操作系统上同时运行不会太多)  就绪态:ready(进程大部分都是在就绪)

睡眠态:sleep可中断:interruptableCtrl +c);(某些下载的时候)不可中断:uninterruptable

停止态:vimstopped, 暂停于内存中,但不会被调度,除非手动启动

僵死态:zombie ,结束进程,父进程结束前,子进程不关闭

二、进程管理工具

v  进程的分类:

CPU-Bound CPU 密集型CPU运算,非交互  

IO-Bound IO 密集型dd读写;ftp下载,交互

v Linux 系统状态的查看及管理工具:pstree, ps, pidof,pgrep, top, htop, glance, pmap, vmstat, dstat, kill,

pkill, job, bg, fg, nohup

v pstree 命令:pstree – display a tree of processes显示进程树 父子关系

    -p:显示进程PID -n:按进程大小排序

2.1 ps: process statu 进程状态

列举进程ps – report a snapshot of the current processes 报告简短的当前进程

   Linux 系统各进程的相关信息均保存在/proc/PID 目录下的各文件中

v  适用ps 来查看进程信息

v ps [OPTION]…   默认显示当前终端中的进程   支持三种选项:

    UNIX 选项  如-A -e   BSD 选项 如a    GUN 选项 如——help

  a 选项包括所有终端中的进程  x 选项包括不链接终端的进程

  f 选项显示进程的父进程     u 选项显示进程所有者的信息 (显示真正生效user的进程root) ;

 o 属性…  选项显示定制的信息:pid comm %cpu %mem state tty euser ruser(生效的使用者)

一般组合使用ps  axu

2.1.1 ps axu进程管理工具

v VSZ: Virtual memory SiZe ,虚拟内存集(承诺的内存),线性内存  

   RSS: ReSident Size,  常驻内存集(真正分配的内存)

STAT :进程状态

R running运行的   S: interruptable sleeping可中断的 D: uninterruptable sleeping不可中断的

T: stopped 停止的     Z: zombie僵死的   s: session leader ,会话(子进程)发起者

+:  前台进程     l:  多线程进程    N :低优先级进程    <:  高优先级进程

2.1.2 ps -axo仅显示指定的进程信息

-e:  显示所有进程    -f:  显示完整格式程序信息

-F:  显示更完整格式的进程信息    -H:  以进程层级格式显示进程相关信息

v  常用组合:-ef:显示所有进程玩着呢改革是程序信息   

   常用组合:-eFH:以进程层级格式显示所有进程完整格式进程信息。

  常用组合:自定义

       -eo  pid,tid,class,rtprio,ni,pri,(显示优先级)psr,pcpu,stat,comm(显示命令)

       axo  stat,euid(运行的ID,ruid(真正的ID,tty,tpgid,sess,pgrp,ppid(父进程的进程编号),pid,pcpu,comm

    ni: nice  pri: priority优先级   psr: processor CPU编号    rtprio:实时优先级

搜索进程 最灵活:ps  选项aux |  其它命令grep)  随后用kill杀掉进程

2.2 pgrep按预定义的模式

pgrep [options] pattern

-u uid: effective user ,生效者  -U uid: real user ,真正发起运行命令者   -t terminal:  与指定终端相关的进程

-l:  显示进程名centos7)        ;-a:  显示完整格式的进程名            -P pid:  显示指定进程的子进程

v显示命令的PIDpgrep a http  或者 pstree -p 在进程树下寻找  

按确切的程序名称:/sbin/pidof    pidof bash:查看进程的编号

三、系统观察工具

3.1 uptime 查看系统启动负载

  显示当前时间,系统已启动的时间当前上线人数,系统平均负载(1510 分钟的平均负载,一般不会超过1

v  系统平均负载指在特定时间间隔内运行队列中的平均进程数

v  如果 每个CPU内核的当前活动进程数不大于3的话,那么系统的性能良好。 如果每个CPU 内核的任务数大于5 那么这台机器的性能有严重问题。

v  如果linux 主机是1 个双核CPU 的话,当Load Average6 的时候说明机器已经被充分使用了。

3.2 top动态观察 

top   d #:  指定刷新时间间隔,默认为3  -b:  以批次方式(支持翻页显示   -n #:  显示多少批次

    top显示分为:首部信息显示、命令行、栏位信息显示

3.2.1首部信息显示

uptime 信息:l 命令

tasks cpu 信息:t 命令

      running     sleeping     stopped    zombie

cpu 分别显示:1 ( 数字)

      us :用户空间    sy :内核空间    ni :调整nice 时间    id :空闲

      wa :等待IO 时间   hi :硬中断    si :软中断(模式切换)    st :虚拟机偷走的时间

memory 信息:m 命令

3.2.2 命令行

top内置命令:

排序:P :以占据的CPU 百分比,%CPU   M :占据内存百分比,%MEM   T :累积占据CPU 时长,TIME+

其它:退出命令:q   修改刷新时间间隔:s    终止指定进程:k 杀进程    保存文件:W    

3.2.3栏位信息简介

PID (Process Id): 任务的进程ID  USER (User Name): 任务所有者名称

PR (Priority): 优先级  NInice)优先级 ;VIRT(虚拟内存) ; RES(实际使用内存) ;

SHR(进程与其他进程共享内存大小,可以通过RES – SHR来计算所占用内存大小)

%CPU (CPU usage):CPU 使用率    %MEM (Memory usage (RES)): 内存使用率

S (Process Status): 进程状态      TIME+ (CPU Time, hundredths):CPU 时间,精确到秒

COMMAND:使用的命令。

其他命令行(不在top里的,可以通过ps命令查看)

RUSER (Real User Name): 任务的所有者真实名称  PPID (Parent Process Pid): 父任务的进程ID

UID (User Id): 任务所有者ID    GROUP (Group Name): 任务所有者群组名  TTY (Controlling Tty): 终端

3.3 htop 命令top增强版

需从Fedora-EPEL 源安装wget  http://172.16.0.1/fedora-epel/7/x86_64

选项:

-d #:  指定延迟时间;  -u UserName:  仅显示指定用户的进程; -s COLUME:  以指定字段进行排序;

子命令:

s:  跟踪选定进程的系统调用; l:  显示选定进程打开的文件列表; a :将选定的进程绑定至某指定CPU 核心;

t:  显示进程树

3.4 vmstat显示虚拟内存

v vmstat 命令:虚拟内存信息

vmstat [options] [delay [count]]    vmstat 1 101s监控一次,扫10次结束 ; s:  显示内存的统计数据

v procs: ls /proc 出现的都是进程编号

r :等待运行的进程的个数,和核心数有关  b :处于不可中断睡眠态的进程个数( 被阻塞的队列的长度)

v memory

swpd:  交换内存的使用总量    free :空闲物理内存总量

buffer :用于buffer 的内存总量    cache :用于cache 的内存总量

v swap交换:

si :从磁盘交换进内存的数据速率(kb/s)  so :从内存交换至磁盘的数据速率(kb/s)

v io读写

bi :从块设备读入数据到系统的速率(kb/s)  dd if=/dev/sda of=/dev/dull :读入内存

bo:  保存数据至块设备 的 速率           dd if=/dev/zero of=f1 :从内存写出

v system

in: interrupts,  中断速率,包括时钟    cs: context switch,  进程切换速率

v cpu

us:Time spent running non-kernel code用户运行程序占用的百分比

sy: Time spent running kernel code    用于运行内核占用的cpu百分比

id: Time spent idle. Linux 2.5.41 , 包括IO-wait time.  idle空闲占cpu的百分比

wa: Time spent waiting for IO. 2.5.41 前,包括in idle.   等待io花费的时间

st: Time stolen from a virtual machine. 2.6.11 , unknown.  被虚拟机偷走的时间

3.5 pmap 命令 

    进程对应的内存映射  pmap 1 显示第1个进程(init)与内存的映射关系

v pmap [options] pid […]  -x:  显示详细格式的信息;

  另外 一种实现: cat /proc/PID/maps 查看内存映射关系

3.6 glances远程系统监控工具 

v glances 命令:EPELwget  http://172.16.0.1/fedora-epel/7/x86_64

         监控时注意防火墙的问题

glances [-bdehmnrsvyz1] [-B bind] [-c server] [-C conffile] [-p port]

                     [-P password] [–password] [-t refresh] [-f file] [-o output]

3.6.1常用选项

-b:  Byte 为单位显示网卡数据速率   -d:  关闭磁盘I/O 模块   -f /path/to/somefile:  设定输入文件位置 

-o {HTML|CSV} :输出格式   -m:  禁用mount 模块   -n:  禁用网络功能模块

-t #:  延迟时间间   -1 :每个CPU 的相关数据单独显示  

3.6.2排序和显示内建命令

a Sort processes automatically l Show/hide logs

c Sort processes by CPU% b Bytes or bits for network I/O

m Sort processes by MEM% w Delete warning logs

p Sort processes by name x Delete warning and critical logs

i Sort processes by I/O rate 1 Global CPU or per-CPU stats

d Show/hide disk I/O stats h Show/hide this help screen

f Show/hide file system stats t View network I/O as combination

n Show/hide network stats u View cumulative network I/O

s Show/hide sensors stats q Quit (Esc and Ctrl-C also work)

y Show/hide hddtemp stats

3.6.3 C/S 模式下运行glances 命令

v  服务模式:glances -s -B IPADDR    IPADDR:  指明监听的本机哪个地址

v  客户端模式:glances -c IPADDR    IPADDR :要连入的服务器端地址

3.7 dstat 系统资源统计

v dstat [-afv] [options..] [delay [count]]

-c:  显示cpu 相关信息   -C #,#,…,total 显示所有cpu信息(多个cpu

-d:  显示disk 相关信息  -D total,sda,sdb,…

-g :显示page 相关统计数据     -m:  显示memory 相关统计数据

-n:  显示network 相关统计数据  -p:  显示process 相关统计数据

-r:  显示io 请求相关的统计数据  -s:  显示swapped 相关的统计数据

-rio请求速率  -y:系统相关数据,包括中断和进程切换

 v –tcp   –udp    –unix    –rawraw套接字)  ;  –socket    –ipc:进程通信相关速率

v –top-cpu :显示最占用CPU 的进程

v –top-io:  显示最占用io 的进程

v –top-mem:  显示最占用内存的进程

v –top-latency:  显示延迟最大的进程

四、进程管理

4.1 kill 命令

   向进程发送控制信号,以实现对进程管理(适用于所有终端)

    显示当前系统可用信号: kill -l

常用信号:man 7 signal

1) SIGHUP:  无须关闭进程而让其重读配置文件 如:service http restartsystemctl reloadrestarthttp

也可以用pgrep -a http或者pidof http 或者ps aux|grep http查出httpPID ,再用kill -1 PID重读。

2) SIGINT:  中止正在运行的进程;相当于Ctrl+c    3SIGQUIT:相当于quit ctrl+\

9) SIGKILL:  杀死正在运行的进程    15) SIGTERM :终止正在运行的进程 kill命令默认为15,可以不写

18) SIGCONT :继续运行   19) SIGSTOP :后台休眠

指定信号的方法:

(1)  信号的数字标识;1, 2, 9 15181922

(2)  信号完整名称;SIGHUP      (3)  信号的简写名称;HUP

       ps  aux | grep ming 查找有关ming程序的PID

4.1.1结束进程

        可以结束后台运行程序

PID kill [-SIGNAL] pid   需要配合ps pidof pgrep搜索进程号

按名称:killall [-SIGNAL] comm   killall  bash 只会杀死后台使用bash的程序无效 ;killall -9 bash生效

按模式:pkill [options] pattern  有些有pgrep通用的如:-l -a

-SIGNAL      -u uid: effective user ,生效者    -U uid: real user ,真正发起运行命令者

如: pkill -9 -u wang 踢出指定的登录用户  也能pkill -9 -u root 不过之后必须重启

-t terminal:  与指定终端相关的进程   -l:  显示进程名

-a:  显示完整格式的进程名     -P  pid:  显示当前进程的子进程的信息

 

4.2 作业管理

v Linux 的作业控制

前台作业:通过终端启动,且启动后一直占据终端;

后台作业:可通过终端启动,但启动后即转入后台运行(释放终端)

v  如何让作业运行于后台?

(1)  运行中的作业: Ctrl+z   后台休眠

(2)  后台进程(尚未启动的作业# COMMAND &   ctrl  c不能打断 ;需要用fg调至前台,才能结束。

v  后台作业 虽然被送往后台运行,但其依然与终端相关;退出终端,将关闭后台作业。

如果希望送往后台后,剥离与终端的关系(防止断网、断电) 

      # nohup COMMAND &,但是会把命令执行后的文件重定向到/root/nohup.out 中,因此 &> /dev/zero`

 #screen;COMMAND

4.2.1 jobs 查看本终端的作业信息

v 作业控制:

# fg [[%]JOB_NUM] :把指定的后台作业调回前台;

# bg [[%]JOB_NUM] :让送往后台的作业在后台继续运行;

# kill [%JOB_NUM] :终止指定的作业;

   并行运行同时运行多个进程,提高效率运行vim脚本

如:vi all.sh

f1.sh&  

f2.sh&

f3.sh&

v如:(f1.sh&);(f2.sh&);(f3.sh&)    { f1.sh& f2.sh& f3.sh& }

4.2.2进程优先级

进程优先级调整: 静态优先级:100-139

             进程默认启动时的nice 值为0 ,优先级为120

只有根用户才能降低nice 值(提高优先性)

v nice 命令:nice [OPTION] [COMMAND [ARG]…] 也可以nice ——10 优先级为—5

v renice 命令: renice [-n] priority pid…  查看:renice -n -23 PID

   ps axo pid,comm,ni

五、任务计划

v Linux 任务计划、周期性任务执行

未来的某时间点执行一次 任务:at

   batch 系统 自行选择空闲时间去执行此处指定的任务

周期性 运行某任务: cron

5.1 at 任务

CentOS7 systemctl is-enabled atd查看开机是否自启 ;systemctl enable atd 开机启动 ;

systemctl disable atd开机禁用  ;  systmctl status atd 查看当前状态 systemctl start atd    systemctl stop atd

CentOS6runlevel 查看开机是否自启 chkconfig –list atd  开机启动   ntsysv 开机禁用   

          service atd status |start |stop |restart

包:at  /var/spool/at 文件的任务存储目录 可以在里面修改任务。

v at 命令:at [option] TIME

5.1.1常用选项

-V  显示版本信息    -l:  列出指定队列中等待运行的作业;相当于atq

    -d:  删除指定的作业;相当于atrm    -c:  查看具体作业任务

-f /path/from/somefile :从指定的文件中读取任务

   -m: 当任务被完成之后,将给用户发送邮件,即使没有标准输出,有标准输出也不在屏幕上显示 

v      注意:作业执行命令的结果中的标准输出和错误以邮件通知给关用户

计划任务at的脚本可以送至/dev/dull ,没有邮件能减少mail信息产生垃圾邮件。

v TIME: 定义出什么时候进行 at  这项任务的时间

HH:MM [YYYY-mm-dd]   noon, midnight, teatime 4pm  tomorrow

     now+#{minutes,hours,days, OR weeks}

5.1.2 at 时间格式

v HH:MM 02:00 在今日的 HH:MM  进行,若该时刻已过,则明天此时执行任务 (重启不丢)

v HH:MM YYYY-MM-DD 04:00 2016-09-20   at 1200 > wall class is over >ctrl d

规定在某年某月的某一天的特殊时刻进行该项任务

v HH:MM[am|pm] [Month] [Date]

04pm March 17      17:20 tomorrow

v HH:MM[am|pm] + number [minutes|hours|days|weeks]

在某个时间点再加几个时间后才进行该项任务

now + 5 minutes     04pm + 3 days

5.1.3 at任务配置文件

v  执行方式:

1交互式 2输入重定向 3 at f  文件

v  依赖与atd 服务, 需要启动才能实现at 任务

v at 队列存放在/var/spool/at 目录中

v /etc/at.{allow,deny} 控制用户是否能执行at 任务

白名单:/etc/at.allow  默认不存在,只有该文件中的用户root才能执行at 命令,其他用户都不行

黑名单:/etc/at.deny拒绝该文件中用户执行at 命令,而没有在at.deny文件中的使用者则可执行

   如果两个文件都不存在有,只有 root 行可以执行at 命令

5.2 cron周期性任务计划  

     centos6中查看cron是否为开机启动的服务:chkconfig –list crond  

5.2.1相关的程序包

cronie:  主程序包,提供crond 守护进程及相关辅助工具 rpm -ql cronie

cronie-anacron cronie 的补充程序;用于监控cronie任务执行状况;如cronie 中的任务在过去该运行的时间点未

               能正常运行,则anacron 会随后启动一次此任务   rpm -ql cronie-anacron

crontabs :包含CentOS 提供系统维护任务   rpm -ql crontabs

v  确保crond 守护处于运行状态:

CentOS 7systemctl status crond

CentOS 6service crond status

v  计划周期性执行的任务提交给crond ,到指定时间会自动运行

系统cron 任务:系统维护作业  vim  /etc/crontab

用户cron 任务: crontab 命令 -e:创建计划任务

v     日志:vim  /var/log/cron/user

5.2.2 时间表示法

v  系统cron 任务:/etc/crontab

v  注释行以 # 开头

v  详情参见 man 5 crontab

# Example of job definition:

# .—————- minute (0 – 59)

# | .————- hour (0 – 23)

# | | .———- day of month (1 – 31)

# | | | .——- month (1 – 12) OR jan,feb,mar,apr …

# | | | | .—- day of week (0 – 6) (Sunday=0 or 7) OR

sun,mon,tue,wed,thu,fri,sat

# | | | | |

# * * * * * user-name command to be executed

v  例如:晚上9 10 分运行echo 命令10 21 * * * centos /bin/echo "Howdy!"

v (1)  特定值;给定时间点有效取值范围内的值

v (2) *  给定时间点上有效取值范围内的所有值 表示“每

v (3)  离散取值:#,#,#   (4)  连续取值: #-#

v (5)  在指定时间范围上,定义步长: /#: # 即为步长

v     例如:每3 小时echo 命令0 */3 * * * centos /bin/echo "howdy!"(脚本路径)

时间格式

v @reboot Run once after reboot.

v @yearly 0 0 1 1 *

v @annually 0 0 1 1 *

v @monthly 0 0 1 * *

v @weekly 0 0 * * 0

v @daily 0 0 * * *

v @hourly 0 * * * *

5.2.3配置计划任务文件

系统的计划任务:

/etc/crontab centos6)  ;    /etc/cron.d/ 配置文件

/etc/cron.hourly/  脚本   /etc/cron.daily/ 脚本  /etc/cron.weekly/  脚本   /etc/cron.monthly/ 脚本

anacron 系统运行计算机关机时cron 不运行的任务,CentOS6 以后版本取消

anacron 服务,由crond 服务管理。

v  假设计算机没有一直开机

v  对笔记本电脑、台式机、工作站及其它不一直开机的系统很重要

v  对偶尔要关机的服务器很有用

v  配置文件:/etc/anacrontab ,负责执行/etc/ cron.daily

/etc/cron.weekly /etc/cron.monthly 中系统任务。

/etc/cron.hourly/ /cron.d/0hourly 执行

• 字段1 :如果在这些日子里没有运行这些任务……

• 字段2 :在重新引导后等待这么多分钟后运行它

• 字段3 :任务识别器,在日志文件中标识

• 字段4 :要执行的任务

• 当执行任务时,更新/var/spool/anacron/ 中文件的时间戳

v CentOS6 使用/etc/cron.daily/tmpwatch 定时清除临时文件

v CentOS7 使用systemd-tmpfiles-setup 服务实现

v  配置文件:

Ø /etc/tmpfiles.d/*.conf       /run/tmpfiles.d/*.conf

Ø /usr/lib/tmpfiles/*.conf      /usr/lib/tmpfiles.d/tmp.conf

Ø d /tmp 1777 root root 10d    d /var/tmp 1777 root root 30d

v  命令:systemd-tmpfiles clean|remove|create configfile管理临时文件

v  用户croncrontab 命令定义,每个用户都有专用的cron 任务文件:/var/spool/cron/USERNAME

5.2.4 crontab 命令

    crontab [-u user] [-l | -r | -e] [-i]

-l:  列出所有任务; -e:  编辑任务;  -r:  移除所有任务; -i :同-r 一同使用,以交互式模式移除指定任务

-u user:  root 可运行,指定用户管理cron 任务

v  控制用户执行计划任务 :/etc/cron.{allow,deny}

5.3 对比at crontab

v 用 一次性作业使用 at 重复性作业使用crontab   

Create

at  time

crontab -e

List

at -l

crontab -l

Details

at -c  jobnum

N/A

Remove

at -d  jobnum

crontab -r

Edit

N/A

crontab -e

注意:(1)没有被重定向的输出会被邮寄给用户,因而记住 &> /dev/zero

v    (2)根用户能够修改其它用户的作业

注意:运行结果的标准输出和错误以邮件通知给相关用户

      (1) COMMAND > /dev/null 计划任务不要用echo

      (2) COMMAND &> /dev/null

注意:对于cron 任务来讲,% 有特殊用途;如果在命令中要使用%,则需要转义;不过,如果把% 放置于单引中,  

      也可以不用转义

例如:(1)如何在秒级别运行任务?

             * * * * *  for  min  in 0 1 2    do echo "hi"    sleep 20; done

v    (2)如何实现每7 分钟运行一次任务?  */7 * * * *

v sleep 命令:sleep NUMBER[SUFFIX]…

       us:微秒  ; s:  ,  默认  m:    h:  小时     d:

原创文章,作者:lyx,如若转载,请注明出处:http://www.178linux.com/61077

(0)
上一篇 2016-11-27 20:27
下一篇 2016-11-27 20:30

相关推荐

  • Linux基本操作:关机 重启

        Linux系统安装完成以后,就要学会一些Linux的基本操作命令,首先是关机和重启命令,如果进入Linux系统之后连关机重启都不会是不是太不应该了,总不能关机或重启的时候直接关闭电源在开机吧,这就显得太不专业了,这样也会对Linux系统主机不太好,一些进程还没有关闭就直接断电,会导致Linux系统的不稳定出现问题,何况也…

    Linux干货 2016-08-04
  • 网络管理之多网卡bond,mode1

    一.概述 Bonding     就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。 Bonding的工作模式     Mode…

    Linux干货 2016-09-15
  • shutil,csv,ini

    序列化和反序列化笔记

    2017-10-29
  • redis主/从配置及基于sentinel的故障转移

    一、NoSQL基础概念: ACID:原子性、一致性、隔离性、持久性;特性:数据量大、数据变化非常大(数据增长化、流量分布变化、数据间耦合结构变化)、数据源很多; CAP、BASECAP C:多个数据节点的的数据一致;A:用户发出请求后的有限时间范围内返回结果;P:network partition,网络发生分区后,服务是否依可用;CAP理论:一个分布式系统不…

    Linux干货 2017-01-27
  • 习题

    1.当用户xiaoming对/testdir 目录无执行权限时,意味着无法做哪些操作? 2.当用户xiaoqiang对/testdir 目录无读权限时,意味着无法做哪些操作? 3.当用户wangcai 对/testdir 目录无写权限时,该目录下的只读文件file1是否可修改和删除? 4.复制/etc/fstab文件到/var/tmp下,设置文件所有者为wa…

    Linux干货 2016-08-04
  • 了解Nginx

    Nginx Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝…

    Linux干货 2016-11-07