C#학습노트-진행편
7475 단어 프로세스
프로세스와 라인은 분리할 수 없으며, 본고는 주로 프로세스를 묘사한다.
1. 간단한 설명:
프로세스:
프로세스와 스레드의 관계:
한 작업장은 하나의 프로세스에 해당하고, 작업장 안의 노동자는 노정에 해당한다.
2. 프로세스 관리(Process 클래스)
1. Process 클래스는 System에 있습니다.Diagnostics 네임스페이스 아래에 있습니다.
2. 로컬 컴퓨터에 대한 작업:
3. 원격 컴퓨터에 대한 조작:
4. 프로그램 및 프로그램:
한 프로그램에서 다른 프로그램(예를 들어 다른.exe 파일 호출, 단축키 등)을 처리하는 것은 사실상 프로세스를 관리하는 것이다.
3. 프로세스 프레젠테이션:
(1) 프로세스를 시작합니다.
예:
1. 예: ① Process 어셈블리의 인스턴스를 생성합니다. 예를 들면 다음과 같습니다.
Process myProcess = new Process();
② 실행할 애플리케이션 이름과 전달할 매개 변수를 지정합니다.
myProcess.StartInfo.FileName = " ";
myProcess.StartInfo.Arguments = " ";
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
③ 인스턴스의 Start 메서드를 사용하여 프로세스를 시작합니다.
myProcess.Start();
2. 예: ① 프로세스를 직접 시작합니다.
Process.Start(“Notpad.exe”);
프로세스를 시작하는 방법 및 속성:
Start 방법: 프로세스 자원을 시작하고 Process 구성 요소와 연결하는 StartInfo 속성: 시작 프로세스에 전달할 파일 이름과 시작 파라미터를 가져오거나 설정합니다.
프로세스를 시작하는 두 가지 방법:
프로세스에 그래픽 사용자 인터페이스가 있는 경우 ProcessWindowsStyle을 사용하여 프로세스를 시작할 때 창을 표시하는 방법을 일일이 지정할 수 있습니다.선택할 수 있는 열거 값은 Normal (정상 창), Hidden (숨겨진 창), Minimized (최소화 창), Maximized (최대 창) 이다.
(2) 프로세스를 중지하려면 다음과 같이 하십시오.
프로세스를 중지하는 두 가지 방법:
CloseMainWindow + Close(리소스 방출): 그래픽 인터페이스가 있는 Kill + WaitForExit(종료 대기): 모든 프로그램
선택 방법:
CloseMainWindow
Kill
이미지 인터페이스의 선례후병 먼저 Close Main Window 하고 Kill
GUI 없이 Kill 메소드 사용
예외 처리:
프로세스가 종료되는 동시에 Kill 방법을 호출하면 이상이 발생할 수 있으므로, 호출할 때try/catch 문장을 사용하는 것이 좋습니다.
Process 클래스에서 제공하는 관련 방법 및 속성:
메서드/속성
해석하다
Kill 방법 및 CloseMainWindow 방법
전자는 프로세스를 강제로 종료하는 데 사용되고, 후자는 프로세스를 종료하는 것을 요청하는 데 사용됩니다.
HasExited 속성
HasExited 등록 정보는 시작한 프로세스가 중지되었는지 여부를 판단하는 데 사용됩니다.
WaitForInputIdle 메서드
사용자 인터페이스가 있는 프로세스에만 적용되며 Process는 연관된 프로세스가 유휴 상태가 될 때까지 기다릴 수 있습니다.
WaitForExit 메서드
연관 프로세스가 종료될 때까지 기다리는 시간 설정
ExitCode 속성
ExitCode 등록 정보는 연관 프로세스가 종료될 때 지정된 값을 가져오는 데 사용됩니다.
ExitTime 속성
ExitTime 속성은 연관된 프로세스가 종료되는 시간을 가져오는 데 사용됩니다.
EnableRaisingEvents 속성
EnableRaisingEvents 속성은 프로세스가 종료될 때 Exited 이벤트를 발생시킬지 여부를 가져오거나 설정하는 데 사용됩니다.
(3) 모든 프로세스 정보를 가져오는 방법:
프로세스를 가져오는 방법:
1. 모든 프로세스 정보 얻기
Process 클래스의 GetProcesses 정적 방법은 새 Process 배열을 만들고 이 배열을 로컬 컴퓨터의 모든 프로세스 자원과 연결하는 데 사용됩니다.
① 로컬 컴퓨터의 모든 프로세스를 가져오는 경우:
Process[] myProcesses = Process.GetProcesses();
② 원격 컴퓨터의 모든 프로세스를 가져오는 방법:
Process[] myProcesses =Process.GetProcesses (remoteMachineName);
// :
Process[] myProcesses =Process.GetProcesses ("192.168.0.1");
2. 지정된 프로세스 정보를 얻으려면 다음과 같이 하십시오.
Process의 GetProcessById 정적 방법은 자동으로 Process 대상을 만들고 이를 로컬 컴퓨터의 프로세스와 연결하며 프로세스 Id를 이 Process 대상에게 전달합니다.GetProcessesByName 정적 메서드는 연관된 모든 프로세스를 포함하는 배열을 반환합니다.
① 로컬 컴퓨터와 관련된 프로세스를 가져오는 경우:
Process p = Process.GetProcessesById(5152);
② 로컬 컴퓨터에서 지정된 이름을 가져오는 프로세스:
Process[] myProcesses = Process.GetProcessesByName(" ");
③ 원격 컴퓨터에서 지정한 이름을 가져오는 프로세스:
Process[] myProcesses = Process.GetProcessesByName(" ",remoteMachineName);
(1) 프로세스 이름에 확장자가 없습니다.(2) 실행 파일일 수 있음
Process 클래스의 관련 속성:
Process 클래스의 프로세스 정보 속성
해석하다
MachineName 속성
관련 프로세스가 실행 중인 컴퓨터 이름 가져오기
MainModule 속성
관련 프로세스의 주 모듈 가져오기
Modules 속성
관련 프로세스에서 불러오는 모듈 가져오기
TotalProcessorTime 속성
프로세스의 전체 프로세서 시간 가져오기
StartTime 속성
관련 프로세스의 시작 시간 가져오기
WorkingSet64 속성
프로세스에 할당된 물리적 메모리(바이트)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
방학 불태우기 9프로세스를 관리하기 위해 ready queue와 waiting queue가 존재하며 ready queue의 프로세스들 중 실행되는 프로세스는 running 상태가 되어 실행되게 된다. 이런 불필요한 CPU 낭비를 막...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.