프로세스 리스트 질문입니다.

“1” 이라는 프로세스를 종료하고 싶어서

Process[] processList = Process.GetProcessesByName("1");

if (processList.Length < 1)
{
    //프로세스가 실행되지 않고 있을때
}

이런식으로 했습니다. 근데 다수의 프로세스를 종료하고 싶습니다
저 위에 식을 여러번 복사해서 쓰고 있습니다

string[] ppp = new string[] { "1", "2", "3", "4", "5" };
Process[] processList = Process.GetProcessesByName(ppp);

이런식으로 스트링 배열을 만들어 해볼려고 하는데

오류가 발생합니다. 해결법이 있을까요?

1개의 좋아요

주신 소스코드에 의하면 Process.GetProcessesByName 메서드는 인자로 문자열을 받는 것 처럼보이는데,

string[] ppp = new string[] { "1", “2”, “3”, “4”, “5” };
Process[] processList = Process.GetProcessesByName(ppp); // 여기서 문자열 배열 자체를 넣고 있음

주석을 단 것이 오류인데…

string[] ppp = new string[] { "1", “2”, “3”, “4”, “5” };

foreach(var p in ppp)
{
     Process[] processList = Process.GetProcessesByName(p);
}

이렇게 하시면 되는거 아닌가요?

1개의 좋아요

네 됩니다! 한가지 더 질문하나 드릴게요 그럼 process.kill 은 어떻게 적용해야하나요

1개의 좋아요
string[] ppp = new string[] { "1", "2", "3", "4", "5" };

foreach(var p in ppp)
{
     Process[] processList = Process.GetProcessesByName(p);
     foreach (var p2 in processList)
     {
          p2.Kill();
     }
}

이거 아닌가요?

1개의 좋아요

맞는거 같습니다 감사합니다!!

1개의 좋아요

혹시 string[] ppp = new string[] { “1”, “2”, “3”, “4”, “5” }; 여기 1,2,3,4,5 문자들을 label1.TEXT 에서 받아올려면 어떻게 짜야할까요

1개의 좋아요

기본 문법서를 하나 보시는게 좋지 않을까 싶습니다.
이정도의 질문은 검색으로 충분히 해결 가능합니다.
Windows Forms를 사용하신다고 가정하겠습니다.

string inputProcessId = label1.Text;
Process[] processList = Process.GetProcessesByName(inputProcessId);
foreach (var p2 in processList)
{
     p2.Kill();
}

여러개 입력을 받으시려면 컨트롤을 여러개 만드시거나, TextBox에서 입력 받은 문자열을 Parsing 해서 사용하시면 됩니다.

1개의 좋아요