Anonymní profil Vlado – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Vlado – Programujte.comAnonymní profil Vlado – Programujte.com

 

Příspěvky odeslané z IP adresy 80.188.198.–

Vlado
Python › problém s externí aplikací
22. 7. 2011   #144857

#10 liborb
Tak konečně se mi povedlo najít alespoň nějaké řešení!
Vykašlal jsem se na PID procesu programu "WerFault" a zavřel jsem to jednoduše (tupě) přes taskkill v Pythonu:

os.system("taskkill /im WerFault.exe /f")

Asi to není nejelegantnější řešení, ale zatím funguje. Alespoň jsem získal nějaký čas na hledání sofistikovanějšího řešení.
Win32Api určitě zkusím přes víkend.
Děkuji Všem za Váš čas a ochotu pomoct zoufalé lamě v nouzi. Díky. 

Vlado
Python › problém s externí aplikací
21. 7. 2011   #144800

#7 KIIV
sledování systému používám pořád, s pamětí podle mě problém není. Pamět se při každém přechodu cyklu uvolní. Externí program který spouštím v Pythonu je Zoomify Express (http://www.zoomify.com/express.htm). Program vlastně vytvoří dlaždice z jakékoliv obrázku. Je to exáč, který po spuštení zobrazí pouze dialogové okno pro výber souboru obrázku (jpg) ze struktury disků a složek v PC. Vybereš soubor, potvrdíš OK a je to. Výsledkem je složka s dlaždicemi původního obrázku. Takže podle mě program na nic nečeká.
Samozřejmě zkoušel jsem to na více PC (os: XP, Vista, Vin 7) - chování naprosto stejný. cca 200 přechodů chyklů OK, pak chybové hlášení při každém přechodu chyklu. V event logu je odkaz na chybu "ntdll.dll". Přemýšlel jsem, že ji nahradím jinou knižnicí z netu, ale pak jsem si to rozmyslel, protože každá kterou jsem stáhl měla jinou velikost. Hlavně neumím posoudit dopad takové výměny DLL. Ale vygooglil jsem, že pád toho "Zoomify" spustí jiný program z Win "WerFault.exe" který generuje právě to chybové hlášení. Cyklus se zastaví pokud to uživatel neodklikne. Kdybych věděl zachitit PID toho "WerFault" a automaticky to ukončit tak by to fungovalo (zkoušel jsem to přes cmd - taskkill /f /im "WerFault.exe"). Nebylo by to elegantní rešení, ale lepší než nic.

Vlado
Python › problém s externí aplikací
21. 7. 2011   #144781

#4 liborb
Dík za radu. Bohužel to nepomohlo :( Zkoušel jsem to zprava, zleva - pořád stejný. Už jsem také zkoužel ve Win 7 vypnout službu Windows Error Reporting Service. Jediné co se změnilo byl vzhled chybového hlašéní. Znovu jsem se vrátil k hledání informací k aplikaci - zatím nic. Myslíte že by pomohlo zkusit to zpustit přes Win32Api?

Vlado
Python › problém s externí aplikací
19. 7. 2011   #144608

#2 KIIV
zkoušel, ale nikam to nevedlo. Aplikace funguje bez problémů pokud ji používám samostatně (asi je zavadějící nazývat to aplikace - je to jeden exáč, žádná instalace).
Zajímavé je, že prvních cca 200 spuštení aplikace v cyklu funguje bez problémů a až pak začne aplikace tuhnout! A pak už tuhne pořád.
O tom, že problém je v té aplikaci jsem přesvědčen. Ale protože do aplikace zasáhnout neumim tak bych chtěl ten problém nějak řešit právě v Pythonu.
Dík
 

Vlado
Python › problém s externí aplikací
18. 7. 2011   #144575

Ahoj
Mám problém s externí aplikací (exe soubor) v pythonu!
Aplikaci v pohodě spustím a předám ji argumenty. Aplikace udělá co po ní chci. Výsledek je v pořádku jenže aplikace se neukončí korektně a vygeneruje chybové hlášení: "...program přestal pracovat...".
Externí aplikaci spouštím v cyklu takže po každém volaní aplikace musím odkliknout chybové hlášení a cyklus běží dál - výsledky jsou v pořádku.
Zkoušel jsem aplikaci zpustit přes: os.system(aplikace, argumet) i přes subprocess.Popen(aplikace, argument) s různými argumenty bohužel se stejným výsledkem.

Jak problém vyřešit? Existuje např. nějaký způsob jak vynutit ukončení externí aplikace? Nebo je potřeba zachytiti to okno s chybovým hlášením a uzavřít ho?

Omlouvám se za možná blbý dotaz, v pythonu jsem začátečník.
Dík předem za pomoc

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý