Wie kann ich die PID eines aktuell geöffneten Fensters abrufen?

Wie kann ich die PID eines aktuell geöffneten Fensters abrufen?

Ich weiß, dass wir die PID des aktuellen Fensters mit xdotooldem folgenden Befehl abrufen können:

xdotool getactivewindow

Dies hilft jedoch nur bei aktuell geöffneten Fenstern. Ich würde gerne einen Weg finden, die PID eines Fensters abzurufen, das ich aktuell öffne, etwa wie folgt:

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

Ich weiß, dass ich verwenden sleepund eine beliebige Zeit warten könnte, bis der Prozess geöffnet wird, und dann verwenden könnte xdotool getactivewindow. Aber das sieht nicht nach einer idealen Lösung aus. Wie kann ich die PID eines Fensters abrufen, das ich gerade öffne?

Antwort1

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

speichert die PID des gerade gestarteten Prozesses in einer Variablen MYPID.

Aber halten Sie nicht den Atem an.

Neue Fenster sind nicht unbedingt mit dem von Ihnen ausgeführten Befehl verknüpft. Bei Firefox kommuniziert der Befehl möglicherweise mit einer bereits laufenden Instanz. Der Prozess, für den Sie die PID ermittelt haben, wird bald verschwinden.

Vielleicht möchten Sie in einer neuen Frage fragen, was Sie wirklich erreichen möchten (Problem X). Andere Ansätze als die Ermittlung der PID eines Fensters, das Sie gerade starten (Problem Y, die aktuelle Frage) kann erforderlich sein.

verwandte Informationen