Not Responding durumundaki Process'leri bulmak

O anda çalışmakta olan uygulamaların durumlarını gözleyen bir service yazmamız gerektiğinde, gözlediğimiz uygulamanın kullanıcıya yanıt verip-vermediğini bulabilmemiz gerekir.

Bunu .Net Framework‘teki Process sınıfının üyeleri ile kolaylıkla yapabiliriz.

Process Sınıfı

Process sınıfı System.Diagnostics namespace‘i içerisinde yeralır. Process sınıfı birçok static ve instance üyeye sahiptir. Bu üyeler sayesinde, lokal bilgisayardaki veya uzak bilgisayardaki herhangi bir uygulamaya müdahele edebilirsiniz. Ayrıca Process sınıfı ilgili uygulamanın “çalıştığını” veya “yanıt vermiyor” durumuna düştüğünü de belirleyebilir.

Bu özellik, uygulamaları monitör eden bir service geliştirecekseniz çok kullanışlıdır.

Bu yazıda, basit bir console uygulaması ile bilgisayardaki “yanıt veren” ve “yanıt vermeyen” uygulamaları listeleyeceğiz.

Öncelikle System.Diagnostics namespace‘ini kod’umuzun using kısmına ekleyelim;

using System.Diagnostics;</pre>

Bilgisayarda o anda çalışan uygulamaları Process sınıfının GetProcesses() method’undan Process dizisi olarak alabiliriz;

Process[] p = Process.GetProcesses();

Basit bir döngü ile o anda çalışmakta olan process‘ler arasında dönebiliriz. Sonra tek yapmamız gereken, Process sınıfının statik Responding property’sine bakmak;

if (p.Responding)
    Console.WriteLine(" yanıt veriyor.");
else
    Console.WriteLine(" yanıt VERMİYOR!");

Uygulamanın kodlarını toparlarsak;

Process[] processes = Process.GetProcesses();
foreach (Process p in processes)
{
    Console.Write(p.ProcessName);

    if (p.Responding)
        Console.WriteLine(" yanıt veriyor.");
    else
        Console.WriteLine(" yanıt VERMİYOR!");
}


Haziran 2010 Etkinliklerim

Mayıs ayında olduğu gibi, Haziran ayında da pek boş durmadım.

Bahçeşehir Üniversitesinin son haftasonu XNA - Oyun Programlama seminerini verdim.

Ayrıca BilgeAdam Beşiktaş şubesinde ASP.NET 4.0 ve C# 4.0 üzerine iki tane seminerim oldu.

Mayıs 2010 Etkinliklerim

Etkinliklerim sayfamdan da görebileceğiniz gibi, bu ay gayet dolu geçti.

Bahçeşehir Üniversitesinde 4 haftasonu XNA - Oyun Programlama seminerleri verdim.

Ayrıca SQL üzerine 8 röportaj yaptım.

Buradaki makaleden, uzmantv.com röportajlarımın metinlerine ulaşabilirsiniz.

Design Pattern'ler ve Kategorileri

Bu makaleyi okumadan önce .Net ortamında pattern kavramı makalesini okumanızı öneririm.

Gang of Four‘un tanımladığı hali ile Design Pattern‘ler 3 ana kategori içerisinde gruplanırlar;

Creational Patterns

  • Abstract Factory
  • Builder
  • Factory Method
  • Prototype
  • Singleton

Structural Patterns

  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Proxy

Behavioral Patterns

  • Chain of Responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Observer
  • State
  • Strategy
  • Template Method
  • Visitor

Takip eden makaleler ile bu design pattern’lerin her birini inceleyeceğiz.

BilgeAdam - XNA Seminerleri (Nisan 2010)

Nisan 2010 içinde BilgeAdam Beşiktaş şubesinde XNA Seminerleri veriyor olacağım.

Seminerlerin saatleri aynı; 13:30 - 15:00

BilgeAdam - XNA Seminerleri (Nisan 2010)

Engin Polat hakkında

Senior Software Engineer, @Microsoft

Ada ve Ege'nin babası ;)

Kategoriler

İstatistik

Makale Adedi: 484

Creative Commons Lisansı