私は24個のタスク(unixコマンド)をリスト(ファイル)に持っています。彼らは与えられた時間に5で実行する必要があります。タスクが完了すると、24個のタスクすべてが実行/競合するまで、スクリプトは次のタスクを実行する必要があります。一方、フォアグラウンドでは、 "ps"コマンドでwhileループを実行して、アクティビティを監視します。何か案は?perl:unixプロセスを実行し、perlを使ってそれらを監視する
-1
A
答えて
3
use Parallel::ForkManager qw();
my $pm = Parallel::ForkManager->new(5);
for my $task (@tasks) {
$pm->start() and next;
my $exit_code = 0;
if (!eval {
...
return 1; # No exception
}) {
$exit_code = $! || $? >> 8 || 255;
warn([email protected]);
}
$pm->finish($exit_code);
}
$pm->wait_all_children();
0
あなたがこれは一例でProc::ProcessTable
であなたのプロセス監視から情報を取得することができます
#!/usr/bin/perl
use Proc::ProcessTable;
$ref = new Proc::ProcessTable;
foreach $proc (@{$ref->table}) {
if(@ARGV) {
next unless grep {$_ == $proc->{pid}} @ARGV;
}
print "--------------------------------\n";
foreach $field ($ref->fields){
print $field, ": ", $proc->{$field}, "\n";
}
}
you're Windowsを使用している場合は、多分あなたは、Win32を使用することができます::プロセス*モジュール。しかし私は決して使用しなかった!
関連する問題
- 1. papiを使用して実行中のプロセスのパフォーマンスカウンタを監視する
- 2. perlのスクリプト実行の監視ツール
- 3. Windowsでプロセスによって実行された特定のシステムコールの監視
- 4. プロセスを起動してイベントを監視して監視します
- 5. プロセス監視
- 6. NewRelic - 監視プロセス
- 7. hibernateを使って各クエリの実行時間を監視する方法は?
- 8. Hadoopタスクを実行しているCPUコアを監視する
- 9. Windowsプロセスの監視
- 10. JMX - プロセスの存在を監視する
- 11. jbossプロセスをicinga/nagiosで監視する
- 12. Windowsでプロセスを監視する
- 13. リモートJavaプロセスを監視する方法
- 14. アプリケーション(JMX)監視prometheusを使用してkubernetesクラスタ内で実行
- 15. 私のPCで実行中のプロセスを監視するソフトウェアのようなSCADA?
- 16. PHPからperlスクリプトを監視する方法
- 17. メトリック・ビートを使用して特定のプロセスを監視する方法は?
- 18. フォルダ監視/バッチファイル実行
- 19. Delphiアプリケーションで実行されるSQLクエリを監視する
- 20. .netプロセス:プロセス出力を監視してアプリケーションイベントを応答させる方法
- 21. WinJsからlaunchUriAsyncを使用して生成されたプロセスを監視する方法
- 22. プロセス監視 - Python/Ubuntu/Linux
- 23. phpスクリプトの実行を監視
- 24. プロセスのCPUとメモリ使用量を監視する
- 25. Windowsのプロセスの開始を監視してから何かを実行してください(別のプロセス/サービスを停止してください)
- 26. Selenium - エラー状態を監視し、「ハッピーパス」テストコードを実行する
- 27. monit監視ツールを使ってDelayed_jobを設定します
- 28. C++はプロセスをバックグラウンドで監視していますか?
- 29. スタックされたpythonプロセスを監視する
- 30. 画面を使ってプロセスを実行し続ける
探している機能はプロセス調整です。 ['Parallel :: ForkManager'](http://metacpan.org/pod/Parallel::ForkManager)や[' Forks :: Super'](http://metacpan.org/pod/Forks)のようなモジュールをチェックしてください。 ::スーパー)。 – mob
GNU Parallelは、あなたが望むものとまったく同じように動作するPerlプログラムです。 – amon