現在開いているウィンドウの PID を取得するにはどうすればよいですか?

現在開いているウィンドウの PID を取得するにはどうすればよいですか?

xdotool次のコマンドで現在のウィンドウの PID を取得できることはわかっています:

xdotool getactivewindow

ただし、これは現在開いているウィンドウにのみ役立ちます...現在開いているウィンドウの PID を取得する方法を見つけたいと思います。次のようなものです。

command-to-get-pid-of-process-that-is-opening-now "$(firefox https://www.google.com)"

sleepを使用し、プロセスが開くまでランダムな時間を待ってから を使用できることはわかっていますxdotool getactivewindow。しかし、それは理想的な解決策ではないようです。開いているウィンドウの PID を取得するにはどうすればよいでしょうか?

答え1

firefox https://www.google.com & MYPID=$!

起動したプロセスの pid を変数に保存しますMYPID

ただし、息を止めないでください。

新しいウィンドウは、必ずしも実行したコマンドに関連付けられているわけではありません。Firefox の場合、コマンドは最終的にすでに実行中のインスタンスと通信する可能性があります。PID を決定したプロセスはすぐに消えます。

新しい質問で、本当に何を達成したいのかを尋ねてみるのもいいかもしれません(問題X)。起動しようとしているウィンドウのPIDを見つける以外の方法(問題Y(現在の質問)が必要になる場合があります。

関連情報