python代碼實現(xiàn)檢測并自動啟動指定exe程序
python自啟動exe
這段Python代碼實現(xiàn)了一個檢測并自動啟動指定exe程序的功能。主要使用psutil庫檢測進程是否存在,如果未運行則通過subprocess啟動程序。代碼包含錯誤處理機制,能處理進程訪問權(quán)限問題、程序路徑不存在等情況。使用示例中演示了如何指定目標exe路徑并調(diào)用檢測啟動函數(shù)。該腳本適合用于監(jiān)控關(guān)鍵應(yīng)用程序的運行狀態(tài)并確保其持續(xù)運行。
import psutil
import subprocess
import os
def check_and_start_exe(exe_name):
# 獲取文件名部分,防止傳入的是路徑
name = os.path.basename(exe_name)
# 1. 檢測進程是否存在
# psutil.process_iter() 會迭代所有正在運行的進程
for proc in psutil.process_iter(['name']):
print(proc)
try:
# 比較進程名稱 (注意:Windows下進程名通常包含 .exe)
if proc.info['name'] == name:
print(f"{name} 已經(jīng)在運行中 (PID: {proc.pid})")
return True
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
# 進程可能在檢查瞬間結(jié)束了,或者沒有權(quán)限訪問,忽略即可
pass
# 2. 如果沒找到,則啟動它
print(f"{name} 未運行,正在啟動...")
try:
# 使用 subprocess.Popen 啟動程序
# 如果 test.exe 在當前目錄,直接寫名字;如果在特定路徑,請寫絕對路徑
process = subprocess.Popen([exe_name])
print(f"{name} 啟動成功 (新 PID: {process.pid})")
return False
except FileNotFoundError:
print(f"錯誤:找不到文件 '{exe_name}'。請確保它在當前目錄或系統(tǒng) PATH 中。")
return None
except Exception as e:
print(f"啟動失敗: {e}")
return None
if __name__ == "__main__":
# 替換為你的 exe 文件名或路徑
target_exe = "test.exe"
path = r"D:\TOOL\electricCollimator\test.exe"
check_and_start_exe(path)
python自動定時啟動exe程序
這是一種使用Python實現(xiàn)的定時任務(wù)解決方案,通過定義函數(shù)在指定時間運行特定的exe程序,并包含了進程管理和殺進程功能,確保程序按預(yù)期執(zhí)行。
原本要用win10的任務(wù)計劃程序定義程序自動啟動,結(jié)果一直不成功,顯示正在運行但實際并沒有成功運行,懷疑是權(quán)限設(shè)置的問題,一直沒搞明白,就用python寫個腳本吧。
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import datetime
import time
import psutil
#運行exe文件
def run():
kill()
os.chdir(r"C:\Users\Desktop\\")
path = "a.exe"
print("運行a.exe進程")
os.system(path)
#殺掉進程
def kill():
pids = psutil.pids()
for pid in pids:
p = psutil.Process(pid)
if p.name() == 'a.exe':
print("殺死a.exe進程")
cmd = 'taskkill /F /IM a.exe'
os.system(cmd)
def main(h1=5,h2=12):
run()
while True:
now = datetime.datetime.now()
print(now)
if now.hour == h1:
run()
# 每隔60分檢測一次
if now.hour == h2:
run()
time.sleep(3600)
if __name__ == '__main__':
main()設(shè)定每天5點或12點跑exe。
運行中發(fā)現(xiàn)如果因程序自身原因后臺無法關(guān)閉,需要kill進程,kill不掉就要在管理員模式下運行。
到此這篇關(guān)于python代碼實現(xiàn)檢測并自動啟動指定exe程序的文章就介紹到這了,更多相關(guān)python自動啟動exe內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
error?conda:ProxyError:Conda?cannot?proceed?due?to?an?
這篇文章主要為大家介紹了error conda:ProxyError:Conda cannot proceed due to an error in your proxy configuration解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07
Python實現(xiàn)自動生成高質(zhì)量文章的示例代碼
在當今內(nèi)容為王的時代,自媒體創(chuàng)作者們面臨著巨大的內(nèi)容生產(chǎn)壓力,每天需要產(chǎn)出大量高質(zhì)量文章來吸引讀者,下面我們就來看看如何僅用50行Python代碼打造一個自動文章生成器吧2025-06-06
Python tkinter庫繪制春聯(lián)和福字的示例詳解
馬上要過年了,這篇文章將用到Python中的tkinter庫來寫一副春聯(lián)&福字送給大家。文中的實現(xiàn)方法講解詳細,感興趣的小伙伴可以試一試2022-01-01
教你利用Selenium+python自動化來解決pip使用異常
今天帶大家來學習怎么利用Selenium+python自動化解決pip使用異常,文中介紹的非常詳細,對正在學習python的小伙伴們有很大的幫助,需要的朋友可以參考下2021-05-05

