Re: Webbrowser schließen mit python
Verfasst: Montag 11. Januar 2021, 16:00
@joernius: Umständlich und je nach Programmname und was da so läuft auch gefährlich kaputt. Je kürzer der Programmname desto wahrscheinlicher das als Kollateralschaden noch ganz andere Prozesse beendet werden. Sollte der Programmname zufällig im Namen des Benutzers enthalten sein, dann werden sogar *alle* Prozesse von dem Benutzer beendet.
Das Problem ist durch `driver.close()` je bereits einfach und sicher gelöst. Aber falls man wirklich selbst nach dem Namen beenden will, dann gibt es das bereits erwähnte `psutil`-Modul
Das Problem ist durch `driver.close()` je bereits einfach und sicher gelöst. Aber falls man wirklich selbst nach dem Namen beenden will, dann gibt es das bereits erwähnte `psutil`-Modul
Code: Alles auswählen
#!/usr/bin/env python3
from signal import SIGKILL, SIGTERM
import psutil
def send_signal(processes, signal):
for process in processes:
try:
process.send_signal(signal)
except psutil.NoSuchProcess:
pass
def main():
processes = [
process
for process in psutil.process_iter()
if process.name() == "firefox"
]
send_signal(processes, SIGTERM)
_, still_alive = psutil.wait_procs(processes, 3)
send_signal(still_alive, SIGKILL)
if __name__ == "__main__":
main()