Process - клас (ostics)

Починаючи з платформи .NET Framework версії 2.0, здатність посилатися на дані лічильника продуктивності на інших комп'ютерах для багатьох методів і властивостей платформи .NET Framework була зменшена. Ця зміна була зроблена для підвищення продуктивності і для того, щоб користувачі без прав адміністратора могли використовувати клас Process. Як результат, деякі додатки, які не отримували виключення в ранніх версіях платформи .NET Framework, тепер можуть отримувати NotSupportedException. Порушених методів і властивостей занадто багато, щоб перераховувати їх тут, але відомості про виключення були додані в розділи порушених елементів.

Компонент Process надає доступ до процесу, виконується на комп'ютері. Простіше кажучи, процес - це що виконується додаток. Потік є базовою одиницею, якій операційна система виділяє час процесора. Потік може виконувати будь-яку частину коду процесу, включаючи ті частини, які в даний момент виконуються іншим потоком.

Компонент Process є корисним інструментом для запуску, зупинки, контролювання і спостереження за додатком. Використовуючи компонент Process. можна отримати список процесів, що виконуються або запустити новий процес. Компонент Process використовується для доступу до системних процесів. Після ініціалізації компонента Process його можна використовувати для отримання інформації про виконувані процеси. Така інформація включає набір потоків, завантажені модулі (файли з розширенням DLL і EXE) і інформацію про продуктивність, наприклад кількість пам'яті, яку використовує процес.

Якщо в системі оголошена змінна шляху з використанням лапок, відповідний шлях необхідно вказувати повністю при запуску будь-якого процесу з цього розташування. В іншому випадку система не знайде шлях. Наприклад, якщо c: \ mypath не прописаний в дорозі і він додається з використанням лапок: path =% path%; "c: \ mypath". слід повністю задавати будь-який процес в c: \ mypath при запуску.

Компонент процесу отримує інформацію відразу про групу властивостей. Після того як компонент Process отримав інформацію одного члена будь-якої групи, він помістить в кеш значення для інших властивостей в тій групі і не буде отримувати нову інформацію про інших членів групи до виклику методу Refresh. Отже, не гарантується, що значення властивості буде новіше, ніж те, що було при останньому виклику методу Refresh. Схеми груп залежать від операційної системи.

Системний процес однозначно визначається в системі за ідентифікатором процесу. На зразок багатьох ресурсів Windows процес теж визначається по дескриптору, який може не бути унікальним в комп'ютері. Дескриптор є універсальним терміном для ідентифікатора ресурсу. Операційна система зберігає дескриптор процесу, доступний через властивість Handle компонента Process. навіть якщо процес завершився. Таким чином, можна отримати адміністративну інформацію про процес, наприклад, ExitCode (зазвичай "0" в разі успіху або ненульовий код помилки) і ExitTime. Дескриптори є надзвичайно важливим ресурсом, тому втрата дескрипторів більш небезпечна, ніж втрата пам'яті.

Цей клас містить вимогу до зв'язування і вимога до спадкоємства на рівні класів, що відноситься до всіх членів. Якщо у безпосередньо викликає або похідного класу відсутній дозвіл повної довіри, виникає виключення SecurityException. Додаткові відомості про вимоги безпеки, див. Розділи Вимоги зв'язування і Вимоги успадкування.

Схожі статті