シンプルなキューシステム?

シンプルなキューシステム?

商用PCを使用して、24時間を通してバックグラウンドでいくつかのタスクを実行しようとしています。

基本的には、次のようなコマンドが必要です。

add-task *insert command here*
list-tasks
remove-task(s)

追加されたジョブは単にキューに入れられ、バックグラウンドで1つずつ実行する必要があります(シェルを終了した後も続行します)。

これを行うための簡単なスクリプト/プログラムはありますか?

ベストアンサー1

lpd別の解決策は、ジョブを実行するカスタム「印刷ドライバ」を使用して作成することです。同様の要求を受けたときに友人が助けてくれました。このようなスクリプトを作成して、次の場所に配置します/tmp/batch.sh

#!/bin/bash

TMPFILE=$(mktemp /tmp/XXXX)
exec <"$6"
cat - > $TMPFILE
chmod a+x $TMPFILE
$TMPFILE
rm -f $TMPFILE

次に、次を実行します。

lpadmin -p batch1 -E -P /tmp/batch.sh

これにより、キューが開始され、バッチ1以外の名前を使用してより多くのキューを作成できます。タスクを追加:

lp -d batch1 /path/to/jobscript

lpq、およびを使用してlprmジョブを管理しますlpstat。パラメータを操作に柔軟に渡すには、バッチ.shスクリプトをよりエレガントにすることができます。

batchこのパスに行く前に試しましたが、OSXでキューとして機能していないか、間違って使用しています。)

おすすめ記事