可以使用nice和renice調整指令碼優先順序
避免出現不可控的死迴圈
fork炸彈:
.();
.
捕獲訊號指令碼的編寫
# 訊號指令碼
#!/bin/bash
# 捕獲15號訊號
trap
"echo sig 15" 15
# 捕獲2號訊號
trap
"echo sig 2" 2
計畫任務:讓計算機在指定的時間執行程式
[root@izbp1e44zna0rzyna76eszz lvhuiqi]
# date
sat jan 2 20:29:07 cst 2021
在指定的時間內,執行指定的shell命令:
# 使用at xx:xx
[root@izbp1e44zna0rzyna76eszz lvhuiqi]
# at 20:31
warning: commands will be executed using /bin/sh
# 將hello 輸出到/home/lvhuiqi/hello.txt 檔案中
at>
echo hello > /home/lvhuiqi/hello.txt
# ctrl + d 進行提交
at>
job 2 at sat jan 2 20:31:00 2021
ctrl + d 進行提交檢視當前at未執行的shell:
[root@izbp1e44zna0rzyna76eszz lvhuiqi]
# atq
1 sat jan 2 20:39:00 2021 a root
2 sat jan 2 20:31:00 2021 a root # 這條是上述設計的
使用atq檢視一次性執行的內容校驗是否在指定時間輸出shell命令:
[root@izbp1e44zna0rzyna76eszz lvhuiqi]
# cat /home/lvhuiqi/hello.txt
hello
刪除at中未執行的shell命令:
[root@izbp1e44zna0rzyna76eszz lvhuiqi]
# atrm 1
atrm num 可指定刪除at中的資訊cron 配置方式:
檢視現有的計畫任務:
配置格式:
注意:命令的路徑問題
# 1.執行命令:crontab -e 開啟cron配置方式
[root@izbp1e44zna0rzyna76eszz lvhuiqi]
# crontab -e
# 每一分鐘執行一次命令
* * * * * /usr/bin/date >> /home/lvhuiqi/hello.txt
如果想使用到秒的,需要另外安裝三方包
# 星期一或星期五執行命令
* * * * 1,5 /usr/bin/date >> /home/lvhuiqi/hello.txt
# 星期一到星期五執行命令
* * * * 1-5 /usr/bin/date >> /home/lvhuiqi/hello.txt
檢視 date的命令:[root@izbp1e44zna0rzyna76eszz lvhuiqi]# which date
/usr/bin/date
檢視cron的日誌:tail -f /var/log/cron
# 1月1日下午15點整,執行指令碼
0 15 1 1 * /usr/bin/date >> /home/lvhuiqi/hello.txt
注意:時間整點操作分鐘必須為0
Linux 指令碼控制和計畫任務
指令碼控制在我們使用指令碼做備份時 可能不希望使用者對指令碼做終端操作 這就需要我們做指令碼捕獲訊號後的處理 trap 命令 signal 可以讓指令碼接受到signal訊號時 執行 裡面的命令 trap echo sig15 15 代表收到15號訊號時 執行echo sig15 9號訊號 kill...
指令碼練習 計畫任務管理
bin bash read p please input a filename file if e file then echo file is not exits elif r file a w file then echo user can t read and write file else ...
利用shell指令碼實現計畫任務功能 V1 2
2013.05.10 mytask 1.2 主程式休眠時間分成若干小的時間片斷分段休眠,避免長時間的休眠不能及時響應系統訊號。2013.05.07 mytask 1.1 昨天發布了mytask1.0 版後 利用shell指令碼實現計畫任務功能 一直在想著如何解決那個最後的遺留問題 每個任務指令碼中宣...