Difference between revisions of "Mutex.TerminateProcess"
1>Admin (Created page with "{{infobox function |name=TerminateProcess |object=Семафор |caption=Работа с по...") |
m (1 revision imported) |
(No difference)
|
Latest revision as of 11:46, 9 August 2022
TerminateProcess (Работа с подчиненными процессами) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция безусловно завершает выполнение подчиненного процесса, с ожиданием окончания завершения, если необходимо. Иногда, даже с ожиданием, в зависимости от типа системы, сразу после выполнения функции, вызов IsProcessActive может возвращать 1, но большинство процессов коммуникации на этот момент уже выполнено и процесс скоро будет остановлен.
Синтаксис
Mutex.TerminateProcess(<Без ожидания (INT)>=0)
Аргументы
<Без ожидания (INT)>
- (необязательный аргумент) Может принимать следующие значения:- 0 (по умолчанию) -- ожидать полного завершения процесса.
- 1 -- не ожидать завершения процесса, только передать ему флаг завершения.
Примеры
Function ИсполнитьВДругомПроцессе(спДанные,ByRef Переменная,ByRef Переменная2=0) спДанные["Значение"]:=10; Переменная:=20; Переменная2:=30; Result:=40; EndFunction аПроцесс:=Mutex.InitializeSeparateProcess(); спДанные:=List.Create(); спДанные["Значение"]:=1; Переменная:=2; аПроцесс.InterProcessExecuteFunction("ИсполнитьВДругомПроцессе",спДанные,Переменная); //Будет выведено 1 Message("Процесс активен: "+аПроцесс.IsProcessActive); //Завершим процесс аПроцесс.TerminateProcess(1); //Будет выведено 0 (обычно) Message("Процесс активен: "+аПроцесс.IsProcessActive); //Вызов функции создаст исключение аПроцесс.InterProcessExecuteFunction("ИсполнитьВДругомПроцессе",спДанные,Переменная);