Využij akce až 80 % zdarma při nákupu e-learningu. Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se Pythonu
discount week 80

Diskuze: spuštění a ukončení procesu

Aktivity
Avatar
Ondra Toman
Člen
Avatar
Ondra Toman:27.2.2020 22:19

Snažim se z konzolové aplikace spustit nějaký proces (v mém případě kalkulačku) a po chvíli ho zase ukončit. Se spuštěním problém není ale když se snažim proces ukončit tak mi program vyhodí chybu že proces již byl ukončen

Zkusil jsem:

Process calc = new Process();
calc.StartInfo.FileName = "calc.exe";
calc.Start();

Thread.Sleep(2000);

calc.Kill();

Zkoušel jsem víc možností ale zdá se jakoby se ten proces po spuštění smazal. Nějaký tip?

 
Odpovědět
27.2.2020 22:19
Avatar
Odpovídá na Ondra Toman
Michal Štěpánek:28.2.2020 10:15

A jsi si jistý, že za ty dvě sekundy už je ta Kalkulačka "řádně" spuštěná?
Když tu vraždu procesu vypneš, vidíš ho ve výpisu?
Nezkoušel jsi ten čas trošku prodloužit?

Nahoru Odpovědět
28.2.2020 10:15
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Ondra Toman
Michal Štěpánek:28.2.2020 10:30

Odpovím si sám, je spuštěná, vidím, prodloužení nemá vliv.
Nebude to tím, že když se ta kalkulačka spustí, už ten proces není součástí tvého programu a tudíž k němu nemáš přístup?

Editováno 28.2.2020 10:30
Nahoru Odpovědět
28.2.2020 10:30
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Ondra Toman
Člen
Avatar
Odpovídá na Michal Štěpánek
Ondra Toman:28.2.2020 12:22

Vypadá to tak, ale jak to teda udělám když chci nějaký proces vypnout? (nejlépe i proces který jsem z mé aplikace nespustil)

 
Nahoru Odpovědět
28.2.2020 12:22
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na Ondra Toman
Michal Štěpánek:28.2.2020 12:30

Nikdy jsem to nedělal, ale strejda gůgl ti určitě poradí...

google=How to kill a process using C#

Nahoru Odpovědět
28.2.2020 12:30
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Roman
Člen
Avatar
Odpovídá na Ondra Toman
Roman:28.2.2020 12:44

Koukni na tridu Process ma primo metodu Kill. Takze si vycti vsechny spustene procesy napr.:

foreach (Process pr in Process.GetProcesses())
{
    Console.WriteLine("App Name: {0}, Process Name: {1}", Path.GetFileName(pr.MainModule.FileName), pr.ProcessName);

        if (string.Compare(pr.ProcessName, "mujproc") == 0) {
              pr.Kill();
}
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět
28.2.2020 12:44
Avatar
Ondra Toman
Člen
Avatar
Odpovídá na Michal Štěpánek
Ondra Toman:28.2.2020 12:45

Už jsem zjistil kde je problém. calc.exe je soubor který se spustí ale není to název procesu. takže k ukončení jsem si musel získat seznam běžících procesů a ukončit ten s názvem Calculator.

 
Nahoru Odpovědět
28.2.2020 12:45
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.