Job-Control
現在批次不接受輸入文件的替換隊列?
背景
我在一家研究所工作,並且很長時間使用該
batch
命令將作業隊列送出到我們的機器。但是,最近的更新將該batch
命令更改為符合 POSIX 標準,其結果是它不再需要輸入文件。因此,我將不得不在at>
提示符下手動輸入每個命令,而不是重用舊的隊列輸入文件並在需要時進行細微更改。這相當耗時,而且考慮到batch
無論如何處理工作的能力,與自己開始工作相比,這幾乎是浪費時間。問題
我能找到的唯一替換隊列要麼過於昂貴,要麼無法勝任。我正在尋找一個簡單地執行按時間順序給出的作業的隊列;沒有優先隊列或類似的東西。現在有哪些可用的隊列
batch
功能不同?
expect
(andpexpect
) 旨在自動與需要“互動式”輸入的程序進行互動。expect
允許自動啟動程序、等待其提示、發送響應、等待另一個提示等。這是一個簡單的期望腳本範例,它啟動
batch
並創建一個作業以供其調度。它開始batch
,等待提示,創建作業,等待提示,發送 control-D (\004
),等待batch
以確認作業創建來響應,例如job 271 at Sat Oct 25 14:31:00 2014
,然後等待一秒鐘 forbatch
完成並退出:#!/usr/bin/expect -- spawn batch expect "at>" send "echo Hello from batch\r" expect "at>" send "\004" expect "job" sleep 1
expect
具有許多高級功能。您可以創建過程和操作變數。有關詳細資訊,請參閱expect
首頁和expect
常見問題解答。維基expect
百科頁面也非常豐富。我還沒有嘗試過,但可能可以創建一個
expect
從標準輸入讀取和排隊作業的腳本。或者,可以創建一個 shell/sed/awk/python 腳本來從標準輸入讀取輸入並在輸出上編寫一個期望腳本。