商用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でキューとして機能していないか、間違って使用しています。)