Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Windows [игнор отключен] [закрыт для гостей] / прекращение работы JScript - а / 4 сообщений из 4, страница 1 из 1
25.04.2013, 10:13
    #38239494
AlexanP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
прекращение работы JScript - а
Как можно (правильно) прекратить работу js скрипта ?
В диспетчере задач он виден только в закладке "процессы" и только с именем wscipt. А когда их несколько то непонятно какой мой.
Или как можно задать имя процессу, чтобы различить их.
...
Рейтинг: 0 / 0
25.04.2013, 10:36
    #38239544
Vladimir Baskakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
прекращение работы JScript - а
запускать отдельной прожкой, которая откладывает в сторонку ПИД.
перлушный скрипт для аналогичных примерно целей
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
# параллельный запуск и ожидание завершения нескольких скриптов
# скрипты должны быть перечислены в файле, передаваемом как параметр 
# командной строки или поступать из стандартного ввода
# запускаться могут .bat, .cmd, .vbs, .js, .pl файлы c параметрами
# все, что идет до первого пробела - считается исполняемым скриптом, после
# - параметрами. В зависимости от расширения скрипта выбирается исполняющая программа
# cmd.exe - ищется по comspec, cscript - ищем в windir-system32 или perl - исполняющий сам скрипт
# PID-ы запущенных процессов заливаются в *.pids файл

use Win32::Process;
use Win32;

#массив объектов - процессов
my @all_ids;

my $comspec=$ENV{ComSpec};

open PIDF, '>parallel.pids';
while (<>)
{
    chomp;
    my $run_line;
    my $full_cmd=$_;
    # распилим строку на команду и аргументы по первому пробелу
    s/\s.*//;

    if (m/(\.bat)|(\.cmd)/) {
	    $comspec=$ENV{ComSpec};
	    $run_line="cmd /C ".$full_cmd;
    } elsif (m/(\.vbs)|(\.js)/) {
	    $comspec=$ENV{windir}.'\system32\cscript.exe';
	    $run_line="cscript ".$full_cmd;
    } elsif (m/\.pl/) {
	    $comspec=$^X;
	    $run_line="perl ".$full_cmd;
    }
    
  Win32::Process::Create($ProcessObj, $comspec, $run_line, 0, NORMAL_PRIORITY_CLASS, ".");
  #пометим процесс как запущенный
  push @all_ids, $ProcessObj;
  # скинем PID в файл
  $pid=$ProcessObj->GetProcessID();
  print PIDF "$pid: $full_cmd\n";
}
close PIDF;
$is_process=1;

while ($is_process) {
   @temp_ids=@all_ids;
   @all_ids=();
   # поспим 1 секунду
   sleep 1;
   foreach (@temp_ids) {
     # для процесса проверим статус
     if (! $_->Wait(1)) {
	 # процесс еще не завершен. пометим, что нужен еще проход
	 push @all_ids,$_;
       }     
   }
   $is_process=@all_ids;
}

...
Рейтинг: 0 / 0
25.04.2013, 10:47
    #38239564
Vladimir Baskakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
прекращение работы JScript - а
http://www.script-coding.com/WSH/WshShell.html#3.4.
нагуглено за 180 сек.

СерыйФорум4.2.2. ProcessID
Синтаксис:

ProcessID

Возвращаемое значение: идентификатор запущенного процесса (PID).

Замечание: только чтение.

Пример:

Set WshShell = CreateObject("WScript.Shell")
Set WshExec = WshShell.Exec("notepad")
WScript.Sleep 2000
WshShell.AppActivate WshExec.ProcessID
WshShell.SendKeys "0123456789"



Модератор: Тема перенесена из форума "Java".
...
Рейтинг: 0 / 0
25.04.2013, 11:56
    #38239729
AlexanP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
прекращение работы JScript - а
Я имею ввиду если я запустил js скрипт и его же хочу снять.
Этот скрипт что-то долго делает и его надо снять. Как ?
...
Рейтинг: 0 / 0
Форумы / Windows [игнор отключен] [закрыт для гостей] / прекращение работы JScript - а / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]