shell學習筆記3-后台執行命令


cron  系統調度進程,使用它在每天的某時間或一周、一月的不同時間運行

at  使用它在一個特點的時間允許一些特殊的作業

&  使用它在后台允許一個占用時間不長的進程

Nohup  使用它在后台運行一個命令,即使在用戶退出時也不受影響

1,每一個用戶都可以有自己的crontab文件,但是在較大系統中,管理員一般會禁止這些文件,在整個系統中只保留一下這樣的文件,系統管理員通過cron.deny和cron.allow這兩個文件來禁止和運行用戶有自己的crontab文件

2,crontab格式    * * * * * commond

  分(1-59) 時(1-23) 日(1-31) 月(1-12) 星期(0-6,0表示周日) command

  在這些域中,可以用 - 來表示時間范圍(1-5 周一到周五),使用 , 來表示和(1,4表示周一和周四),使用 * 表示連續的時間,該文件每一個條目必須包含5個時間域,且每個域之間使用空格分隔,所有注釋在行首使用#

  30 21 * * * /apps/bin/cleanup.sh  每晚21:30執行指定目錄下文件

  45 4 1,10 * * * /apps/bin/cleanup.sh  每月1,10日執行指定目錄下文件

  10 1 * * 6,0 /bin/find -name "core" -exec rm {} \;  每周六日1:10運行一個find命令

  0,30 18-23 * * * /apps/bin/dbcheck.sh  每天18:00到23:00直接每隔30分鍾運行指定目錄文件

3,crontab命令形式:crontab [-u user] -e -l -r

  -u  用戶名,如果使用自己的名字登錄,則不需要使用-u

  -e  編輯crontab文件

  -l  列出crontab文件中的內容

  -r   刪除crontab文件

4,在考慮向cron進程提交一個crontab文件之前,首先要設置環境編輯EDITOR,cron進程根據它來確定使用哪個編輯器來編輯crontab文件,如果使用vi,則編輯$HOME目錄下.profile文件,在其中加入一行

  EDITOR=vi;export EDITOR

然后保存退出

  crontab -e 編輯

  crontab -l 列出crontab文件內容

  crontab -r 刪除crontab文件

5,at命令允許用戶向cron守護進程提交作業,使其在稍后的時間運行。管理員可以通過/etc目錄下的at.allow和at.deny來控制哪些用戶可以使用at命令,哪些不可以。

  命令形式:at [-f script] [-m -l -r] [time] [date]

  -f script 是所以提交的腳本或命令

  -l 列出 當前所有等待運行的作業

  -r 清除作業

  -m 作業完成后給用戶發郵件

  time at的命令格式非常靈活,可以是H HH HHMM HH:MM H:M  H是小時,M是分鍾,還可以使用a.m p.m

  date 日期格式,可以是月份或日期,而且at還識別today,tomorrow等詞

6,at提交若干行命令,在at命令后跟上日期/時間並回車,進入at命令提示符,然后就可以逐條輸入命令,最后按CTRL+D退出

7,清除作業命令:atrm [job no] 或者 at -r [job no]

  要清除某個作業,需要先執行at -l 命令,以獲取相應的作業標識,然后對它執行 at -r 命令,清除該作業

  

8,后台執行命令:& 

  命令格式:commod &

  作業后台運行一樣會將結果輸出到屏幕,所以需要重定向到某個文件 command >out.file 2>&1 &

9,可以使用ps查詢系統的進程,但是不能確定是運行在前台還是后台

  ps -ef|grep 28305 或者 ps x|grep 2888  查詢指定進程號的進程

10,使用kill 殺死進程 ,命令格式 kill -signal [process_number]

  kill 28305或者kill -9 28305

11,使用nohup命令,使賬戶退出時,進程繼續運行。

  命令格式 nohup command &

  如果使用了nohup命令提交作業,那么在缺省情況下,該作業的所有輸出都被重定向到了nohup.out文件中,出發另外值得了輸出文件。例如 nohup comman > myout.file 2>&1

 

  

 

 

 

 

 

 

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM