bursa escort bursa escort beylikdüzü escort escort bayan afyon escort escort bayan istanbul escort mersin escort bayan escort kayseri bursa escort escort kayseri bursa escort ankara escort

Bu yazımda sizlere çalışan bir processi kill(sonlandırmayı) anlatacağım. Çalışan bir processi kill ederseniz bu processi çalıştıran birden fazla açık dosya varsa (Excel gibi) tüm çalışan processleri kapatır.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Threading;

namespace ConsoleApplication1
{
    class Program
    {

        public static void HataMesajiYaz(Exception HataMesaji)
        {

            string strLogMessage = "\nMessage : " + HataMesaji.Message +

                "\nSource : " + HataMesaji.Source +

                "\nTarget Site : " + HataMesaji.TargetSite +

                "\nStack Trace : " + HataMesaji.StackTrace;

                string logName = "BenimProjem";

                // EventLogda Hata Mesajının Nereye yazılacağını Belirliyoruz. BenimProjem adında bir Log adı olmadığı için açmamız gerekiyor. Bunu da aşağıda anlatacağım.

            if (!EventLog.SourceExists(logName))
            {
                EventLog.CreateEventSource(logName, logName);
            }

            EventLog log = new EventLog();
            //Nereye yazılacak? Event Logda BenimProjem Event log dosyasına yazılacak.
            log.Source = logName;
            
            // Hata Mesajını alıyoruz.
            strLogMessage += "\r\n\r\n--------------------------\r\n\r\n" + HataMesaji.ToString();

            // Hata mesajını log dosyasına yazdırıyoruz.
            log.WriteEntry(strLogMessage, EventLogEntryType.Error, 65534);
        }


        public void runProcess(string processname)
        {
            Process p = Process.Start(processname);
        }

        public void killProcess(string processname)
        {

            foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcesses())
            {
                Console.WriteLine(p.ProcessName);
                if (p.ProcessName.Equals(processname))
                    p.Kill();
            }  
        }
        static void Main(string[] args)
        {
            try
            {
                Program p = new Program();
                        string username = System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString();
                        Console.WriteLine(username);
                  //      p.runProcess("notepad");
                        p.killProcess("notepad");   
            }
            catch  (Exception ex)          
            {
                HataMesajiYaz(Exception ex)
            }
        }
    }
}

Yazar : Emrah Kahraman

Bilgisayar Mühendisi

“C# Run Kill Process (Exception EventLog)” için 1 Yorum

  1. FATİH dedi ki:

    process kill metodu açık olan excel sayfalarını da kapatıyor. Yani kullanıcı başka bir excel sayfasıyla çalışıyorsa onu da kapatıyor. Bana sadece benim aktardığım sayfayı kapatacak bişey lazım

C# Run Kill Process (Exception EventLog) Yazısı için Yorum Yapabilirsiniz

Sponsor
Alexa
Hakkımda
Bağlantılar