2009-06-29 3 views
1

OSはマルチタスクであり、ある時点で1つのプロセスを実行します(単一のコアマシンと仮定します)。どのようなプロセスが何時に実行されたのか、そしてどのタイミングでそれがキューに入れられて戻されたのかを追跡/ポーリングして見つける方法はありますか?このためのシステムコールはありますか? Linuxカーネルのソースを変更せずにこれを達成する方法はありますか?与えられた瞬間にLinuxが実行しているプロセスを見つける方法は?

答えて

5

私はあなたがlttngが必要だと思う、それは間違いなくあなたのシステムのタスクスイッチの事を(そしてそれ以上の)lttngビューアで精巧なビューを与える。 Lttngのカーネル部分は現在のLinuxカーネルにマージされており、カーネルがこの機能を有効にしている場合には、これを使うことができます。 Hereはlttngのスクリーンショットです。

+1

から/procディレクトリまたは出力を見ることができると思いますけど。ありがとうございました。 :) –

0

これはネイティブではできないと思います。 AFAIK linuxはこの情報の履歴を保持していません。

0

これは非論理的な質問です。スクリプト/プロセスからOSに問い合わせる場合、アクティブなプログラムは...あなたのものです。

私はあなたが歴史をしたい場合は、これは私が探していたまさにですps

+0

それは非論理的な質問ではありません。おそらく、それはうまく形成されていない/適切に置かれていない。 –

+0

単一のコアを使用している場合は、どちらのプロセスを実行していても、監視自体が実行されていることがわかります。 – MarkR

関連する問題