user13882705
user13882705

Reputation:

Unable to prevent program to print a Error

I took a piece of code from here: https://stackoverflow.com/a/10457565/13882705 which is

# I have used os comands for a while
# this program will try to close a firefox window every ten secounds

import os
import time

# creating a forever loop
while 1 :
    os.system("TASKKILL /F /IM firefox.exe")
    time.sleep(10)

It will terminate a process if it is running using OS module But if the program did not find the app we mentioned then it prints ERROR: The process "firefox.exe" not found.

Is there a way to make the program just print application not found once and wait until the program is rerunned?

It is fine even if it just prints "Application Not found"

Upvotes: 0

Views: 101

Answers (1)

Aplet123
Aplet123

Reputation: 35560

Use subprocess.run instead of os.system so you have more control:

import subprocess
import time

while True:
    proc = subprocess.run(["TASKKILL", "/F", "/IM", "firefox.exe"], stderr=subprocess.PIPE)
    if proc.returncode != 0:
        print("Application not found.")
        break # since application isn't here we just exit
    time.sleep(10)

Upvotes: 2

Related Questions