バックグラウンドで自動的に作業を開始

バックグラウンドで自動的に作業を開始

次のように、プロセスがバックグラウンドに配置され、完了したときに通知を受けずにバックグラウンドでプロセスを開始するためにこれを使用できることがわかります。

(コマンド &) &> /dev/null

ただし、これにより、プロセスが完了したときにキャプチャされたオプションが削除されます(trap child_done CHLD)。

どのように両方を持つことができますか?

ベストアンサー1

ジョブスプーラあなたに役立つかもしれません。

のように新鮮な肉ネットワーク:

ジョブスプーラは、スプールされたジョブが順番に実行されるUnixデプロイメントシステムです。いつでも実行するジョブの量を設定できます。各システムの各ユーザーには独自のジョブキューがあります。これらの操作は、すべてのシェル/プロセスの正しいコンテキスト(インキューコンテキスト)で実行され、その出力/結果を簡単に表示できます。コマンドが多くのRAMに依存し、多くのディスクを使用し、多くの出力を提供したり、何らかの理由ですべてのコマンドを同時に実行せずに維持したい場合に便利です。あなたのリソースは最大の効率を達成するために忙しく動いています。インターフェイスを介してスクリプトで簡単に使用できます。

タスクスプーラを使用して、次のタスクを実行できます。ダーバン、Ubuntuなどのディストリビューション。

これにより、ジョブキューを実行し、必要に応じてその出力にアクセスできます。

たとえば、

$ tsp sleep 5
0 
$ tsp sleep 5 
1
$ tsp
ID   State      Output               E-Level  Times(r/u/s)   Command [run=1/1]
2    running    /tmp/ts-out.ZWn6Le                           sleep 5
1    finished   /tmp/ts-out.Fhlcle   0        5.00/0.00/0.01 sleep 5

バックグラウンドで多くのタスクを実行している場合は間違いなく役立ちます。

順番に実行するか、あらかじめ設定されたスロット数で実行できます。ジョブ間で依存関係を作成することもできます(実行タスク1〜しない限りタスク0正常に完了しました。)

おすすめ記事