Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java9でProcessAPIの親プロセスを取得するにはどうすればよいですか?


ProcessHandle インターフェイスを使用すると、いくつかのアクションを実行し、プロセスの状態を確認できます。プロセスのネイティブのpidを提供します 、開始 時間 CPU 時間ユーザー プロセス 、および子孫 parent()を呼び出すことで、親プロセスにアクセスできます。 メソッドであり、戻り値はオプションです。 。子プロセスに親がない場合、または親が利用できない場合は空です。

構文

Optional<ProcessHandle> parent()

import java.io.*;

public class ParentProcessTest {
   public static void main(String args[]) {
      try {
         Process notepadProcess = new ProcessBuilder("notepad.exe").start();
         ProcessHandle parentHandle = notepadProcess.toHandle().parent().get();
         System.out.println("Parent Process Native PID: "+ parentHandle.pid());
      } catch(IOException e) {
         e.printStackTrace();
      }
   }
}

上記の例では、「メモ帳」 アプリケーションが起動され、親プロセスのネイティブPIDも出力されます。

出力
Parent Process Native PID : 7108

  1. Javaを使用してフォルダからディレクトリ(のみ)を取得するにはどうすればよいですか?

    ListFiles()メソッドは、現在の(File)オブジェクトによって表されるパス内のすべてのファイル(およびディレクトリ)のオブジェクト(抽象パス)を保持する配列を返します。 ファイルフィルターインターフェイスは、これをパラメーターとしてlistFiles()メソッドに渡すことができるパス名のフィルターです。このメソッドは、渡されたフィルターに渡されたファイル名をフィルターします。 フォルダ内のディレクトリを取得するには、ディレクトリのみを受け入れるFileFilterを実装し、それをパラメータとしてlistFiles()メソッドに渡します。 以下は、ExampleDirectory

  2. Javaのディレクトリにあるjpgファイルのリストを取得するにはどうすればよいですか?

    String []リスト(FilenameFilterフィルター) Fileクラスのメソッドは、現在の(File)オブジェクトによって表されるパス内のすべてのファイルとディレクトリの名前を含むString配列を返します。ただし、再調整された配列には、指定されたフィルターに基づいてフィルター処理されたファイル名が含まれています。 FilenameFilter は、単一のメソッドを備えたJavaのインターフェースです。 accept(ファイルディレクトリ、文字列名) 拡張子に基づいてファイル名を取得するには、このインターフェイスをそのように実装し、そのオブジェクトをファイルクラスの上記で指