1. 程式人生 > 其它 >如何在 pyqt 中捕獲並處理 Alt+F4 快捷鍵

如何在 pyqt 中捕獲並處理 Alt+F4 快捷鍵

檢視已存在的任務

檢視crontab 輸入命令:cat /etc/crontab

在設定編輯之前都建議列出服務檢視一下:crontab -l

 語法:

**** user_name command to be executed
  • 前面五位是定時執行的時間週期 說明如下:

    第一個 * 表示分鐘:取值範圍 0-59

    第二個 * 表示小時:取值範圍 0-23

    第三個 * 表示天數:取值範圍 1-31

    第四個 * 表示月份:取值範圍 1-12

    第五個 * 表示每週:取值範圍 0-6

  • user_name 表示執行定時任務的使用者 不指定預設當前使用者
  • command to be executed
     表示要執行的指令碼語句。
  • 組合用法
使用(-)可以劃定範圍,如:0 0-3 * * *  指令碼        表示每天0-3點整執行指令碼
使用(,)可以列舉時間,如: 0,15,30,45 * * * * 指令碼    表示每個小時的0分,15分,45分,30分會執行指令碼
使用(/)可以指定間隔,如:* */8 * * * 指令碼         表示每8小時執行指令碼
組合用法,0-20/10 * * * * 指令碼        表示在前20分鐘內每隔10分鐘執行指令碼
本人的一個定時指令碼語句,5 20 * * * /usr/local/bin/kubectl rollout restart deployment identity-deployment 每天20點5分重啟k3s服務
  • 示例:
使用(-)可以劃定範圍:0 0-3 * * *  指令碼        表示每天0-3點整執行指令碼
使用(,)可以列舉時間: 0,15,30,45 * * * * 指令碼    表示每個小時的0分,15分,45分,30分會執行指令碼
使用(/)可以指定間隔:* */8 * * * 指令碼         表示每8小時執行指令碼
組合用法:0-20/10 * * * * 指令碼        表示在前20分鐘內每隔10分鐘執行指令碼
每隔5秒執行一次:*/5 * * * * ?
每隔1分鐘執行一次:0 */1 * * * ?
每天23點執行一次:0 0 23 * * ?
每天凌晨1點執行一次:0 0 1 * * ?
每月1號凌晨1點執行一次:
0 0 1 1 * ? 每月最後一天23點執行一次:0 0 23 L * ? 每週星期天凌晨1點實行一次:0 0 1 ? * L 在26分、29分、33分執行一次:0 26,29,33 * * * ? 每天的0點、13點、18點、21點都執行一次:0 0 0,13,18,21 * * ?

步驟:

  方法一:

# touch crontab.txt
# 將上面的cron job 複製到 crontab.txt 儲存
# 讓crontab生效:crontab /xxx/crontab.txt
# 重啟crond

  方法二:

# 直接  crontab -e  編輯crontab
# 按 i 進入編輯
# 將上面的cron job複製
# Esc 退出
# :wq 或 shift + zz
# 重啟crond

常用命令:

crontab -u //設定特定使用者的定時服務
crontab -l //列出當前使用者定時服務內容
crontab -r //刪除當前使用者的定時服務
crontab -e //編輯當前使用者的定時服務

/sbin/service crond start //啟動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啟服務
/sbin/service crond reload //重新載入配置
/sbin/service crond status //檢視crond狀態

你也可以將這個服務在系統啟動的時候自動啟動:
在/etc/rc.d/rc.local這個指令碼的末尾加上:
/sbin/service crond start

檢視cron執行日誌:cat /var/log/cron
  • 如果最後帶^M 則需要設定一下編碼
    vi crontab.txt
    :set ff=unix

注意:

1.crontab.txt中的內容最後一行需要換行,因為crontab.txt中的內容是通過outputstream寫入的

2.java和linux系統級的區別

# Java的Quartz任務(有秒)
0 1 20 * * ? /usr/local/bin/kubectl rollout restart deployment basedata-deployment

# linux系統的crontab(沒有秒)
1 20 * * * /usr/local/bin/kubectl rollout restart deployment basedata-deployment