Начало и остановка процессов с помощью программных средств

Начало и остановка процессов с помощью программных средств

В завершение этого раздела мы рассмотрим методы Start() и Kill() типа System.Diagnostics.Process. По именам этих методов вы можете догадаться, что они обеспечивают, соответственно, программный запуск и программное завершение процесса. Рассмотрите, например, вспомогательный статический метод StartAndKillProcess().

public static void StartAndKillProcess() {

 // Запуск Internet Explorer.

 Process ieProc = Process.Start("IExplore.exe", "www.intertechtraining.com");

 Console.Write("-› Нажмите ‹Enter›, чтобы завершить {0}…", ieProc.ProcessName);

 Console.ReadLine();

 // Завершение процесса iexplorer.exe.

 try {

  ieProc.Kill();

 } catch {} // Если пользователь уже завершил процесс.…

}

Статический метод Process.Start() является перегруженным. Как минимум, вы должны указать имя процесса, который следует запустить (например, Microsoft Internet Explorer). В этом примере используется вариация метода Start(), позволяющего указать любые дополнительные аргументы, передаваемые точке входа программы (т.е. методу Main()).

Метод Start(), кроме того, позволяет передать тип System.Diagnostics. ProcessStartInfo, чтобы указать дополнительную информацию о том, как должен стартовать данный процесс. Вот формальное определение ProcessStartInfo (подробности можно найти в документации .NET Framework 2.0 SDK).

public sealed class System.Diagnostics. ProcessStartInfo : object {

 public ProcessStartInfo();

 public ProcessStartInfo(string fileName);

 public ProcessStartInfo(string fileName, string arguments);

 public string Arguments { get; set; }

 public bool CreateNoWindow { get; set; }

 public StringDictionary EnvironmentVariables { get; }

 public bool ErrorDialog { get; set; }

 public IntPtr ErrorDialogParentHandle { get; set; }

 public string FileName { get; set; }

 public bool RedirectStandardError { get; set; }

 public bool RedirectStandardInput { get; set; }

 public bool RedirectStandardOutput { get; set; }

 public bool UseShellExecute { get; set; }

 public string Verb { get; set; }

 public string[] Verbs { get; }

 public ProcessWindowStyle WindowStyle { get; set; }

 public string WorkingDirectory { get; set; }

 public virtual bool Equals(object obj);

 public virtual int GetHashCode();

 public Type GetType();

 public virtual string ToString();

}

Независимо от того, какую версию метода Process.Start() вы вызовете, будет возвращена ссылка на новый активизированный процесс. Чтобы завершить выполнение процесса, просто вызовите метод Kill() уровня экземпляра.

Исходный код. Проект ProcessManipulator размещен в подкаталоге, соответствующем главе 13.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

ГЛАВА 1 Обзор средств взаимодействия процессов Unix

Из книги автора

ГЛАВА 1 Обзор средств взаимодействия процессов Unix 1.1. Введение Аббревиатура IPC расшифровывается как interprocess communication, то есть взаимодействие процессов. Обычно под этим понимается передача сообщений различных видов между процессами в какой-либо операционной системе. При


12.2. СТРУКТУРА УПРАВЛЕНИЯ РАЗРАБОТКОЙ ПРОГРАММНЫХ СРЕДСТВ

Из книги автора

12.2. СТРУКТУРА УПРАВЛЕНИЯ РАЗРАБОТКОЙ ПРОГРАММНЫХ СРЕДСТВ Разработка ПО обычно производится в организации, в которой одновременно могут вестись разработки ряда других программных средств. Для управления всеми этими программными проектами используется иерархическая


15.1.2. Остановка процессов

Из книги автора

15.1.2. Остановка процессов Четыре сигнала перемещают работающий процесс в состояние останова. SIGSTOP никогда не генерируется ядром. Он предназначен для остановки произвольных процессов. Его невозможно захватить или проигнорировать; он всегда останавливает целевой процесс.


Глава 5. Выманивание денег с помощью специальных программных средств

Из книги автора

Глава 5. Выманивание денег с помощью специальных программных средств Существует категория злоумышленников, которые обладают очень неплохими знаниями в сфере IT-технологий. Это позволяет им практически безнаказанно заниматься мошенничеством, вымогательством, шантажом и


КРАТКИЙ СПИСОК АППАРАТНЫХ И ПРОГРАММНЫХ СРЕДСТВ БЕЗОПАСНОСТИ

Из книги автора

КРАТКИЙ СПИСОК АППАРАТНЫХ И ПРОГРАММНЫХ СРЕДСТВ БЕЗОПАСНОСТИ СОЗДАНИЕ И ХРАНЕНИЕ ПАРОЛЕЙНазвание программы: Password BossОписание: Многофункциональный хранитель паролей с уникальными возможностями. Предназначен для безопасного хранения паролей и любой другой информации.


3.4.2. Остановка процессов

Из книги автора

3.4.2. Остановка процессов Чтобы прекратить работающий процесс, необходимо сделать его центральным и остановить штатными средствами. Чаще всего, на экране есть подсказка, которая поможет выйти из программы. Если она отсутствует, то следует обратиться к документации или