Zástupce pro restart aplikace Vyřešeno

Operační systémy Windows z dílny Microsoft a vše kolem nich

Moderátoři: Pic, Mods_senior

Scientific
Level 3
Level 3
Příspěvky: 499
Registrován: červenec 13
Pohlaví: Muž
Stav:
Offline

Zástupce pro restart aplikace

Příspěvekod Scientific » 04 črc 2020 18:39

Ahoj, jak si prosím ve windows vytvořím na plochu zástupce, který zabije aplikaci a hned ji zase spustí? Třeba s několkavteřinovým waitem/sleepem?

Součástí otázky jsou i souvislosti kolem, např, jak zjistím, nějaký statický identifikátor aplikace, jelikož předpokládám, že PID se mění.

Děkuji za pomoc.

Reklama
Uziv00
Pohlaví: Nespecifikováno

Re: Zástupce pro restart aplikace

Příspěvekod Uziv00 » 04 črc 2020 19:07

vbs skript.
Nač to potřebuješ?

Scientific
Level 3
Level 3
Příspěvky: 499
Registrován: červenec 13
Pohlaví: Muž
Stav:
Offline

Re: Zástupce pro restart aplikace

Příspěvekod Scientific » 04 črc 2020 21:09

Jeden pofidérní program občas přestane dělat co má, ale přesto běží. Ale nedělá nic, tak ho potřebuji vypnout a zapnout.

Byl by někdo tak hodný a ten vbs skript mi mohl napsat? Hádám, že to budeou tři commandy na 10 vteřin práce, pokud to umíte. Dalších 30 vteřin mi vysvětlit, jak ten skript spouštět zástupcem z plochy. Případně 15 vteřin ještě vygooglit, jaký přepínače mají být za pro zabití podle nějakého statického identifikátoru namísto zřejme defaultního PID.

Kód: Vybrat vše

kill -nejak neco
sllep/wait 5
run /path/to/neco.exe


V pro CLI linuxu bych to měl z hlavy, něco jako:

Kód: Vybrat vše

PID=$(ps ax | grep "neco")
kill $PID
sleep 5
cd /path/to/app && ./app


Potřebuji to jen přepsat do Windows řeči.
Prosím pěkně.

Uziv00
Pohlaví: Nespecifikováno

Re: Zástupce pro restart aplikace

Příspěvekod Uziv00 » 04 črc 2020 23:28

Nástřel by mohl vypadat nějak takhle:

Kód: Vybrat vše

Option Explicit
Dim oWMI, colProcess, Process, WshShell, prikaz, ProgramID

Set oWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colProcess = oWMI.ExecQuery ("SELECT * FROM Win32_Process WHERE Name LIKE 'Program%'")

If colProcess.count > 0 Then
  For Each Process In colProcess     
    ProgramID = Process.ProcessID
    Set WshShell = WScript.CreateObject("WScript.Shell")
    prikaz = "cmd.exe /C  taskkill /PID " & ProgramID   
    WshShell.Run prikaz, 1, True
    WScript.Sleep 5000
    prikaz = "c:\adresar\program.exe"
    WshShell.Run prikaz, 1, True
End If

Set oWMI = Nothing
Set colProcess = Nothing
Set WshShell = Nothing

Pokud budeš mít zájem, klidně to napíšu a odladím třeba na notepad, který si pak nahradíš svým programem.

Scientific
Level 3
Level 3
Příspěvky: 499
Registrován: červenec 13
Pohlaví: Muž
Stav:
Offline

Re: Zástupce pro restart aplikace

Příspěvekod Scientific » 07 črc 2020 08:28

S tímhle sem si hrál na vejšce v excelu. :-D

1. Děkuji ti moc, nečekal sem, že to bude takhle hustě udělaný. :-)
2. Pokud chápu, mám ve vyhledávacím dotazu upravit LIKE klauzuli + upravit cestu v proměnné "prikaz". Nic víc?
3. Tohle je nejaky.vbs skript a stačí zástupci na ploše přidat cestu něco jako spouštění programu wscript s nějakými parametry jako třeba cesta k tomu skriptu? Nebo jak to namontovat pro spouštění zástupce z plochy.

mirekol
Level 2
Level 2
Příspěvky: 188
Registrován: duben 19
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Zástupce pro restart aplikace

Příspěvekod mirekol » 07 črc 2020 08:39

Jeden pofidérní program občas přestane dělat co má, ale přesto běží. Ale nedělá nic, tak ho potřebuji vypnout a zapnout.

A nebylo by efektnější/lepší, odstranit příčinu, než řešit následek?

Uziv00
Pohlaví: Nespecifikováno

Re: Zástupce pro restart aplikace

Příspěvekod Uziv00 » 07 črc 2020 08:46

scientific:
Chápeš to dobře.
Jinak stačí napsat to v notepadu, uložit s příponou .vbs. Pokud chceš tvořit zástupce, pak si ten script někam ulož a vytvoř k němu zástupce. Jinak stačí jen ho zkopírovat na plochu. Reaguje na dvojité poklikání, nic dalšího netřeba.
mirekol:
ne každá aplikace je správně napsána. Navíc může být i starší a programátoři už vyhynuli. Takže restart aplikace bývá často jediným a nejjednodušším řešením. Což v podstatě platí i pro hnusná wokna, kdy se leccos restartem vyřeší.

Uživatelský avatar
TheSalon112
Level 3
Level 3
Příspěvky: 456
Registrován: červen 14
Bydliště: localhost
Pohlaví: Muž
Stav:
Offline

Re: Zástupce pro restart aplikace  Vyřešeno

Příspěvekod TheSalon112 » 07 črc 2020 09:02

Myslím si, že cez cmd to bude omnoho jednoduhšie, ako cez VB script

Kód: Vybrat vše

taskkill /f /t /im proces.exe
timeout 5 /NOBREAK >NUL //počet sekúnd - 5
start "" "cesta_k_procesu"  //Prvé uvodzovky ostávajú prázdne, do druhých sa píše cesta



Príklad v praxi:

Kód: Vybrat vše

taskkill /f /t /im chrome.exe
timeout 5 /NOBREAK >NUL                           
start "" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"



Uložíš ako .bat napr na plochu, a dvojitým poklepaním sa spustí, čo sa požaduje :)

Ak nevieš, ako vytvoriť bat súbor, návod napr tu: https://sk.ateasyday.com/articles/windo ... ndows.html
MOJE ŽELEZO:
CPU: Intel core I7 870 2,93 GHz
CPU Cooler: SilentiumPC Fera 2 HE 1224
GPU: ASUS GTX1050 TI 4GB
HDD: WDC Black 1TB
SSD: Samsung 850EVO 120GB
MotherBoard: Asus P7P55D-E
RAM: 4X Kingston DDR3 2GB Value RAM
PSU: Seasonic S12ii-520
Bedňa: Corsair SPEC-03 Red LED
Blue-Ray Mechanika: LG BH10LS30

Scientific
Level 3
Level 3
Příspěvky: 499
Registrován: červenec 13
Pohlaví: Muž
Stav:
Offline

Re: Zástupce pro restart aplikace

Příspěvekod Scientific » 07 črc 2020 16:11

Děkuji moc Vám oběma, přesně tohle jsem chtěl, díky moc.

Řešení od ITCrowd je bez pochyby mnohem propracovanější a elegantnější, nicméně, mě stačí ta jednodušší primitivnější cesta, u které rozumím každému primitivnímu řádku.

Řešení od TheSalon112 jsem ověřil a funguje, ale nepochybuji o tom, že funguje i to propracovanější.

Díky moc.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Win 11 - zastupce na liště
    od BigSandy » 13 bře 2025 08:56 » v Windows 11, 10, 8...
    3
    7955
    od zeus Zobrazit poslední příspěvek
    13 bře 2025 13:38
  • TigerVNC - jak si udělat na ploše zástupce?
    od BigSandy » 13 lis 2024 17:34 » v Programy ke stažení
    2
    3021
    od BigSandy Zobrazit poslední příspěvek
    14 lis 2024 18:58
  • Aplikace pro analýzu videí
    od pavel2010 » 24 bře 2025 21:20 » v Mobily, tablety a jiná přenosná zařízení
    4
    4539
    od pavel2010 Zobrazit poslední příspěvek
    25 bře 2025 20:54
  • (KB5046714) opakovaný restart bez výsledku
    od sasshrek » 05 pro 2024 20:06 » v Windows 11, 10, 8...
    2
    2236
    od sasshrek Zobrazit poslední příspěvek
    06 pro 2024 16:11
  • Mobilní aplikace ve stylu webové stránky
    od bradto » 07 úno 2025 22:52 » v Programování a tvorba webu
    3
    4279
    od HelFix Zobrazit poslední příspěvek
    08 úno 2025 14:27

Zpět na “Windows 11, 10, 8...”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 9 hostů