Folyamatok.

Slides:



Advertisements
Hasonló előadás
Osztály leszármaztatás
Advertisements

Krizsán Zoltán iit 1.1.  Aszinkron történésről értesítés egy vagy több objektum számára.  Delegátumok segítségével valósítja meg a C#.  event típus,
1 Bori Tamás Operációs Rendszerek I. 2. óra: parancssori alapok.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
HÁLÓZAT SOAP Hagyományos WCF/ASMX webszervizek.
Operációs Rendszerek I.
Operációs Rendszerek I.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
© Kozsik Tamás Tömbök, kollekciók és egyéb alaposztályok.
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
Bevezetés a Java programozásba
Bevezetés a Java programozásba
Osztályok Garbage collection.  általában minden osztálynak vannak adattagjai és/vagy metódusai ◦ adattagok megadása:  [láthatóság] [static] [final]
Programozás II. 3. Gyakorlat C++ alapok.
Tömbök ismétlés Osztályok Java-ban Garbage collection
A CLIPS keretrendszer CLIPS "C" Language Integration Production System.
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
Java programozási nyelv 3. rész – Osztályok I.
C# tagfüggvények.
C# tagfüggvények.
C++ alapok, harmadik óra
1 Operációs rendszerek Az NT folyamatok kezelése.
Operációs rendszerek gyakorlat 4. Gyakorlat Vakulya Gergely.
PHP VII Sütik, munkamenetek. Sütik Mi az a süti? A süti (cookie) állapotot tárol a felhasználó böngészőjében. Pl. ha egy oldalon beállítható, hogy milyen.
V 1.0 OE-NIK HP 1 Haladó Programozás Folyamatok Szálkezelés: Parallel.For.
Objektum orientált programozás a gyakorlatban
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
3. előadás.  Apache szerver tudnivalók  Az index.php .htaccess – web-szerverünk beállításai  Konfigurációs állományok  Adatbázis kapcsolódás beállítása.
Java programozási nyelv Filekezelés
Java programozási nyelv Metódusok
Java programozási nyelv Adatbekérés konzolról
Generics Krizsán Zoltán. Bemutató A.NET 2.0 verziótól. A.NET 2.0 verziótól. Típusparaméter Típusparaméter Más nyelvben ez a template (sablon). Más nyelvben.
Párhuzamosság, kritikus szakasz, szemaforok Operációs rendszerek.
User Account Management Endrődi Tamás (MCT, MCP, MCITP) GDF Informatikai Intézet vezetője SZÁMALK Oktatóközpont.
A Visual Basic nyelvi elemei
Óravázlat Készítette: Kucsera Mihály és Toldi Miklós
Illés Zoltán ELTE Informatikai Kar
V 1.0 OE-NIK HP 1 Haladó Programozás A párhuzamos végrehajtás alapjai Folyamatok Szálkezelés alapok.
Haladó Programozás System.Threading.Tasks.Task OE-NIK HP.
Egyéb interpreterek Windows Script Host Internet Explorer Hypertext application.
V 1.0 OE-NIK HP 1 Haladó Programozás Folyamatok Szálkezelés alapok.
DLL használata és készítése Feladat
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 6. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 4. gyakorlat.
Informatikai gyakorlatok 11. évfolyam
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Windows Forms alkalmazás készítése Czigléczky Gábor 2009.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
Krizsán Zoltán, iit C# osztályok 2 Adattagok  Osztály hatáskörben definiált változó.  Formája: [attribútum] [módosító] típus azonosító [=kezdő érték][,
Bevezetés a C# nyelvbe Az alapok összefoglalása Farkas Csaba.
Párhuzamos programozás
Neumann János Informatikai Kar
Alkalmazásfejlesztés gyakorlat
Neumann János Informatikai Kar
A CLIPS keretrendszer
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Web programozás és haladó fejlesztési technikák Versenyhelyzet
B M Java Programozás 9. Gy: Java alapok IT A N Adatkezelő 5.rész
B M Java Programozás 1. Gy: Java alapok IT A N Ismétlés ++
Web programozás és haladó fejlesztési technikák Folyamatok és szálak
Thread és Task.
Szálszinkronizáció.
B M Java Programozás 2. Gy: Java alapok IT A N Adatszerkezetek
Web programming and advanced development techniques
Előadás másolata:

Folyamatok

Emlékeztető System.Diagnostics.Process osztály Metódusok Start() Folyamat indítása CloseMainWindow() Folyamat főablakának bezárása (GUI alkalmazásoknál) Kill() Folyamat leállítása GetCurrentProcess() Aktuális folyamatot reprezentáló objektum lekérése GetProcesses() Összes folyamat adatainak lekérése a helyi számítógépről WaitForExit() Várakozás az adott folyamat befejeződésére Tulajdonságok StartInfo A folyamathoz tartozó ProcessStartInfo példány PriorityClass A folyamat prioritása (fontossági szintje) EnableRaisingEvents A folyamat kiválthat-e eseményeket HasExited A folyamat kilépett-e ExitCode, ExitTime Kilépési kód, illetve a kilépés (vagy leállítás) időpontja StandardInput, StandardOutput Alapértelmezett be- és kimeneti csatorna (adatfolyam) Események Exited A folyamat kilépett (vagy leállították) Összefoglalás: új processzek egyszerű vezérlése (létrehozás, leállítás), ill. processzekről/ből információnyerésre.

Emlékeztető System.Diagnostics.ProcessStartInfo osztály Tulajdonságok FileName Fájlnév megadása az indítandó folyamathoz (program vagy programmal társított fájltípusba tartozó fájl neve) Arguments, WorkingDirectory Parancssori paraméterek és munkakönyvtár megadása az indítandó folyamathoz Domain, UserName, Password Folyamat indítása adott felhasználó nevében RedirectStandardInput, RedirectStandardOutput Alapértelmezett be- és kimeneti csatorna átirányítása ErrorDialog Hibaüzenet jelenjen-e meg, ha a folyamat indítása sikertelen UseShellExecute Operációs rendszerhéj programindító funkciójának használata folyamat indításához Verb A társított fájl megnyitásakor végrehajtandó művelet WindowStyle Kezdeti ablakméret megadása (normál, minimalizált vagy maximalizált méret) Számos paraméter és beállítás adható meg a folyamatként elindítani kívánt programhoz UseShellExecute: shell indítást használjuk-e? Ha igen, akkor: nem kell hogy futtatható állomány legyen (nem futtathatót a társított programmal indít el; mint kettős kattintás a windows explorerben). ErrorDialog csak így megy. Ha UseShellExecute==false, akkor csak futtatható indítható, ÉS megengedi a RedirectStandardInput/Output/Errort. Teljes elérési út kell.

Folyamatok listázása using System; using System.Diagnostics; using System.Linq; namespace _01_Processes { class Program static void Main(string[] args) foreach (var p in Process.GetProcesses().OrderBy(x => x.Id)) Console.WriteLine(string.Format("#{0}\t {1}", p.Id, p.ProcessName)); }

Folyamatok listázása static void Main(string[] args) { if (Process.GetProcesses().Where( x => x.ProcessName == Process.GetCurrentProcess().ProcessName && x.Id != Process.GetCurrentProcess().Id ).Count() > 0) Console.WriteLine("Ez a folyamat már fut!"); return; } Console.WriteLine("Helló világ!"); Console.ReadLine();

Folyamat indítása Process.Start("cmd"); Process.Start("explorer"); Process.Start("valami.jpg"); Process p = Process.Start(new ProcessStartInfo("valami.exe") { CreateNoWindow = true, UseShellExecute = false, RedirectStandardOutput = true });

Kimenet olvasása //hello.exe: if (args.Length > 0) Console.WriteLine("Hello " + args[0] + "!"); else Console.WriteLine("Hello világ!"); Process p = Process.Start(new ProcessStartInfo("hello") { CreateNoWindow = true, UseShellExecute = false, RedirectStandardOutput = true }); p.WaitForExit(); Console.WriteLine(p.StandardOutput.ReadToEnd());

Kimenet olvasása, argumentum átadása //hello.exe: if (args.Length > 0) Console.WriteLine("Hello " + args[0] + "!"); else Console.WriteLine("Hello világ!"); Process p = Process.Start(new ProcessStartInfo("hello", "Pistike") { CreateNoWindow = true, UseShellExecute = false, RedirectStandardOutput = true }); p.WaitForExit(); Console.WriteLine(p.StandardOutput.ReadToEnd());

Esemény kilépéskor static void Main(string[] args) { string[] hosts = new string[] "users.nik.uni-obuda.hu", "index.hu", "google.com" }; foreach (var h in hosts) Process p = Process.Start(new ProcessStartInfo("ping", "-n 10 " + h) CreateNoWindow = true, UseShellExecute = false, RedirectStandardOutput = true }); p.EnableRaisingEvents = true; p.Exited += P_Exited; } Console.ReadLine(); private static void P_Exited(object sender, EventArgs e) Console.WriteLine((sender as Process).StandardOutput.ReadToEnd());

Feladat Hozzon létre konzolos alkalmazást, amelynek segítségével előre beállítható darabszámú traceroute (tracert) folyamatot tudunk párhuzamosan futtatni, így az egyes hívások nem blokkolják a fő alkalmazást.

Feladat Egy gyűjteményben eltárolunk hosztokat. A feladat a hosztokhoz tartozó IP címek kigyűjtése, nslookup segítségével. Az eredmények akkor jelenjenek meg, amikor minden kérés feldolgozásával végzett!

Források Miklós Árpád prezentációja Jeffrey Richter: CLR via C#, 4th edition (2012, Microsoft Press)