|
Как определить наличие запущеного процесса ?
| ☑ |
0
Mikeware
16.04.13
✎
08:46
|
Напомните, плз, у кого "на пальцах", а то сходу не нашел.
smaharbA, помнится, кому-то решение давал, через WMI.
|
|
1
fmrlex
16.04.13
✎
08:52
|
Ставь Cygwin и вызывай ps | grep Твой_процесс
|
|
2
mistеr
16.04.13
✎
08:53
|
tasklist
pslist
|
|
3
Fedot200
16.04.13
✎
08:58
|
(0) Из 1С-а надо?
|
|
4
Mikeware
16.04.13
✎
08:59
|
(2) тасклистом я командную строку получить не смог
|
|
5
Mikeware
16.04.13
✎
08:59
|
(3) ну да. но разницы-то никакой нет :-)
|
|
6
Лефмихалыч
16.04.13
✎
08:59
|
(0) поискать его и, если он есть, то он есть
|
|
7
forforumandspam
16.04.13
✎
09:01
|
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'mshta.exe'")
For Each objProcess in colProcessList
// значит процесс(ы) запущен(ы)
Next
|
|
8
mistеr
16.04.13
✎
09:08
|
(4) Никто не обещал ком. строку. И ты не просил.
|
|
9
vde69
16.04.13
✎
09:09
|
Попытка COM = Новый COMОбъект ("WbemScripting.SWbemLocator");
Серв = COM.ConnectServer(СокрЛп(ИмяКомпьютера), "\root\cimv2", СокрЛП(Логин), СокрЛП(Пароль));
СписокПроцессов = Серв.execQuery("Sel ect * fr om Win32_Process Where Name = '"+СокрЛП(НазваниеПроцесса)+"'");
Для каждого item Из СписокПроцессов Цикл
//item.Terminate();
КонецЦикла;
Исключение
Возврат Ложь;
КонецПопытки;
|
|
10
Fedot200
16.04.13
✎
09:12
|
мои пять копеек
ИмяП="1cv8.exe";
Locator=Новый COMОбъект("WbemScripting.SWbemLocator");
objWMIService=Locator.ConnectServer(".");
pEnum=objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = '"+ИмяП+"'");
Для Каждого Object Из pEnum Цикл
Object.Terminate();
КонецЦикла;
|
|
11
Mikeware
16.04.13
✎
09:17
|
(10) ну вот, так сразу взять, и Terminate() :-))
|
|
12
Mikeware
16.04.13
✎
09:18
|
спасибо.
|
|