4

MACで新しいプロセスが作成されるたびに、検出/通知を取得しようとしています。最も簡単な方法は、すべてのプロセスをポーリングして、新しいプロセスが起動されたかどうかを確認することですが、これには時間がかかりすぎて、「forked」と「execve」を使用して新しいプロセスが起動されるたびに何らかの通知を受け取ることができるかどうかを知りたいと思っていました。 . これが私がすでに見つけたものです:

MAC で新しいプロセスがどのように起動されるかについて:

OS X はさまざまな Unix です。新しいプロセスは fork() システム コールで作成されます。これにより、呼び出しを行うプロセスのほぼ同一のコピーが作成されます (違いは、fork が子で 0 を返し、親で子の pid を返すことです)。その場合、子で exec() システムコールの 1 つを使用して、子を別の実行可能ファイルを実行するプロセスに変換するのが通常です。 新しいアプリケーションはどのように Mac で起動されますか?

ポーリングによるすべてのプロセスのリストの取得について

http://www.cocoabuilder.com/archive/cocoa/92971-bsd-processes-with-code.html

私もkAuth kextのことを経験しましたが、kextを生成してサンプルアプリで使用する方法を理解できるように、簡単にするサンプルコードがない限り、私のレベルを超えているようです。 https://developer.apple.com/library/mac/technotes/tn2127/_index.html

NSWorkspace には通知機能がありますが、これはアプリケーションにのみ当てはまり、すべてのプロセスに当てはまるわけではありません。

この問題に対処する方法についての基本的な理解があるチュートリアル/サンプル コードは、非常に高く評価されます。

4

0 に答える 0