進程和計劃任務

一、進程概念

   內核的功用:進程管理、文件系統、網絡功能、內存管理、驅動程序、 安全功能等

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 進程間通訊

同一主機上1、signal(信號)2shm: shared memory(共享內存)3semophore  信號量,一種計數器(加鎖,不讓其他進程訪問)

不同主機上:1、rpc: remote procedure call(遠程過程調用)2、socket: 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 查看系統啟動負載

  顯示當前時間,系統已啟動的時間當前上線人數,系統平均負載(1,5,10 分鐘的平均負載,一般不會超過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來計算所占用內存大?。?/span>

%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 ,15,1819,22

(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.www58058.com/61077

(0)
lyxlyx
上一篇 2016-11-27
下一篇 2016-11-27

相關推薦

  • CentOS程序包管理

    對于Linux系統而言,其能執行的程序為二進制格式,而對于程序開發者而言,直接利用二進制開發程序是不太現實的,所以一般都是利用高級語言來進行軟件開發,其程序也即稱為源代碼;那么我們在對一個程序進行安裝、升級、卸載、 查詢、校驗等操作時,需要對每個源代碼進行編譯成為二進制程序,那么顯然是不太現實的。所以在各Linux發行版中一般都帶有程序包管理器。 所謂程序包…

    Linux干貨 2016-08-25
  • Linux終端類型

    Linux終端類型 Linux的終端類型包括控制臺終端、虛擬終端、偽終端、串行終端、控制終端、圖形終端。   終端 要理解偽終端(Pseudo Terminal),先來看看什么是“終端”(Terminal)。 終端是一種字符型設備,它有多種類型,通常使用tty來簡稱各種類型的終端設備。 1、串行端口終端(/dev/ttySx) 串行端口終端(Ser…

    Linux干貨 2016-10-14
  • 馬哥教育網絡班22期+第4周課程練習

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@localhost home]# cp -r /etc/skel /home/tuser1 [root@localhost skel]# ch…

    Linux干貨 2016-09-05
  • 系統基礎之權限管理作業題

    1.問題:  在/data/testdir里創建的新文件自動屬于g1組,組g2的成員如: alice能對這些新文件有讀寫權限,組g3的成員如:tom只能對新文件有讀權限,其它用戶(不屬于g1,g2,g3)不能訪問這個文件夾。 [root@wen-7 testdir]# mkdir -p /data/…

    Linux干貨 2016-08-04
  • DNS 正反向解析 主從配置

    我的環境是     192.168.1.130    主DNS      192.168.1.112    從DNS DNS 的安裝包有bind bind-libs bind-utils 安…

    Linux干貨 2016-01-05
  • Linux中的分區管理

    1. 磁盤分區類型 磁盤分區主要分為兩種類型: MBR  MBR是一個比較古老的分區類型了,不支持2TB的大硬盤。在磁盤的0磁道0扇區的512字節存放的就是MBR的信息。前446字節為bootloader,后面64字節存放的是分區表,后面2字節存放的是55aa的分區標識符。MBR分區類型最多只能支持4個主分區和擴展分區,其余的分區只能是邏輯分區。 …

    2017-04-22
欧美性久久久久