실행중인 프로세스 이름 받아 오기 : Process[] process = Process.GetProcessByName

실행중인 프로세스 종료 : process[0].KILL()


밑에 표는 도대체 뭔지 모르겠지만 일단 Keep....

ProcessStartInfo CMD = new ProcessStartInfo();

Process pro = new Process();

CMD.FileName = @"cmd"; // 실행할 응용프로그램의 경로를 설정


CMD.Window Style = ProcessWindowStyle.Hidden; // 실행할 프로그램을 숨긴다????

CMD.CreateNoWindow == true; // 실행할 프로그램의 창을 생성하지 않는다???????


CMD.UseShellExecute = false;

// 프로세스를 시작할 때 운영체제 셸을 사용할지 여부를 나타내는 값을 가져오거나 설정한다.

// 라고 MSDN이 그러는데 뭔소린진 잘 모르겠다....?????

CMD.RedirectStandardOutput = true; // CMD 창의 내용을 가져오기

CMD.RedirectStandardInput = true; // CMD 창의 데이터를 보내기

CMD.RedirectStandardError = true; // 오류내용 가져오기


pro.EnableRaisingEvents = false;

// 프로세스가 종료될 때 exited 이벤트를 발생시키지 않는다.

pro.StartInfo = CMD; // ProcessStartInfo의 인스턴트인 CMD를 넣어줌

pro.Start(); // 시작

pro.StandardInput.Write(@"Hi! I'm LOGIC!" + Environment.NewLine);

//마무리로 Environment.NewLine이 꼭 필요하다고 한다.

pro.StandardInput.Close(); // 닫음


textBox1.Text = process.StandardOutput.ReadToEnd();

// 해당 프로세스의 내용을 스트림으로 끝까지 읽어온다.

pro.WaitForExit();

pro.Close(); // 프로세스 종료

// textbox1에 CMD의 내용을 출력한다.


이건 도움이 되겠다!!(표에 안들어갈까...ㅠㅠ)

-----------------------------------------------------------------------------------------------------

using System;

using System.Collections.Generic;

using System.Diagnostics;

 

namespace ProcessInfoWrite

{

    class Program

    {

        static void Main(string[] args)

        {

            try

            {

                Process[] allProc = Process.GetProcesses();    //시스템의 모든 프로세스 정보 출력

                int i = 1;

                Console.WriteLine("****** 모든 프로세스 정보 ******");

                Console.WriteLine("현재 실행중은 모든 프로세스 수 : {0}", allProc.Length);

                foreach (Process p in allProc)

                {

                    Console.WriteLine("***** {0}번째 프로세스 ******", i++);

                    WriteProcessInfo(p);

                    Console.WriteLine();

                }

            }

            catch (Exception e)

            {

                Console.WriteLine(e.Message);

            }

        }

 

        private static void WriteProcessInfo(Process processInfo)

        {

            Console.WriteLine("Process : {0}", processInfo.ProcessName);

            Console.WriteLine("시작시간 : {0}", processInfo.StartTime);

            Console.WriteLine("프로세스 PID : {0}", processInfo.Id);

            Console.WriteLine("메모리 : {0}", processInfo.VirtualMemorySize);

        }

    }

}

'LANGUAGE > C#' 카테고리의 다른 글

오픈된 포트 확인  (0) 2015.11.04
Posted by OnewayK
,