.NET アプリから Java アプリにシグナルを渡す必要があります。データは必要ありません。信号自体で十分です。
私の頭に浮かぶ最も簡単な方法は、次のような名前付き同期オブジェクトを使用することです。
- .NET アプリは、特定の名前付き同期オブジェクト A を作成します。
- Java アプリは、特定の名前付き同期オブジェクト A を作成します。名前は (1) と同じです。
- Java アプリには、オブジェクトがシグナル状態になるのを待っているスレッドがあります。
- .NET アプリがオブジェクトに信号を送ります。
- Java アプリ スレッドが起動し、シグナルの受信に基づいて動作します。
少なくとも、Java で名前付き同期オブジェクトを作成する方法を知っていれば、これを行う方法です。
しかし、Javaには何もないように見えますが、これは信じがたいことです。Windows だけが同期オブジェクトに名前を付けているということですか?
だから、私の質問はこれです - Java 以外のアプリから Windows 上の Java アプリに単純なシグナル (データなし) を渡すにはどうすればよいですか? 両方のプロセスが同じホストで実行されます。
編集
動機 - ヘッドレス Java プロセスに信号を送って、できるだけ早く正常に終了させたいと考えています。