• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

Linux 以 batch 排程分散執行多個程式教學與範例

介紹如何在 Linux 系統上使用 batch 將多個程式納入排程,靠 atd 依據系統負載分散執行。


如果要在 Linux 系統上執行多個耗費系統資源的程式,可以使用 batch 指令將所有工作排程納入系統,由 atd 這個系統服務自動調配計算資源來執行多個工作,它會判斷系統的負載量,在系統負載較輕(預設是 load 值小於 1.5)的時候依序執行排定的工作。

新增排程工作

若要將工作送進 atd 的排程中,只要將要執行的指令送給 batch 指令即可。例如將三個 Python 指令稿送進 atd 排程:

# 排程執行指定程式
echo 'python3 job1.py' | batch
echo 'python3 job2.py' | batch
echo 'python3 job3.py' | batch
warning: commands will be executed using /bin/sh
job 1 at Fri Nov 27 15:38:00 2020
warning: commands will be executed using /bin/sh
job 2 at Fri Nov 27 15:38:00 2020
warning: commands will be executed using /bin/sh
job 3 at Fri Nov 27 15:38:00 2020

查詢排程工作

若要查詢已經納入排程但還在等待、尚未執行的項目,可以使用 atq 指令,搭配 -q b 查看 batch 專用的佇列(queue):

# 查詢已排程但尚未執行的項目
atq -q b
2       Fri Nov 27 15:38:00 2020 b ubuntu
3       Fri Nov 27 15:38:00 2020 b ubuntu

刪除排程工作

若要刪除已排定但尚未執行的程式,可以使用 atrm 指令搭配項目的編號來刪除:

# 移除編號 3 的排程項目
atrm 3

分類:Linux

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

搜尋

近期文章

  • Linux 檢查、測試 CPU AES-NI 硬體加速加密指令集教學
  • CentOS Linux 7.9 自行編譯、安裝 OpenSSH 9.0p1 伺服器教學與範例
  • Python 使用 zipfile 模組壓縮、解壓縮 ZIP 檔案教學與範例
  • Python 以 LINE Notify 自動傳送即時訊息、圖片教學與範例
  • Linux 使用 Prometheus 與 Grafana 監控伺服器狀態、發送告警 Email 簡訊教學與範例
  • Linux 設定 pam_tty_audit 記錄 SSH 使用者操作指令教學與範例
  • Linux 封鎖、解鎖登入失敗次數過多的帳號 pam_faillock 教學與範例
  • Python 使用 pytube 自動下載 YouTube 影片教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide