|
убивание запущенного приложения | ☑ | ||
---|---|---|---|---|
0
serianomer
18.08.12
✎
08:49
|
в планировщике задач прописан батник который запускает приложение (1С)
можно ли как то-то сделать, чтобы после н-секунд закрывалось приложение, запущенное этим батником? |
|||
1
andrewks
18.08.12
✎
08:54
|
можно. пауза и tskill
|
|||
2
BuHu
18.08.12
✎
08:58
|
(0)можно даже , что бы 1с сама себя закрывала
|
|||
3
1C-band
18.08.12
✎
08:59
|
Тем же планировщиком.
|
|||
4
BuHu
18.08.12
✎
09:01
|
(0)что делает приложение , обмен?
|
|||
5
serianomer
18.08.12
✎
09:43
|
(2) это не подходит,
(1,3) а можно пример |
|||
6
Wobland
18.08.12
✎
10:53
|
Примеры:
TASKKILL /IM notepad.exe TASKKILL /PID 1230 /PID 1241 /PID 1253 /T TASKKILL /F /IM cmd.exe /T TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*" TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe TASKKILL /S <система> /U <домен>\<пользователь> /FI "USERNAME ne NT*" /IM * TASKKILL /S <система> /U <пользователь> /P <пароль> /FI "IMAGENAME eq note*" |
|||
7
Fragster
гуру
18.08.12
✎
11:27
|
прав здесть только (2)
|
|||
8
smaharbA
18.08.12
✎
11:57
|
все делается в самом бвтнике и шедулере, батник неотличается от исходного и ненужны никакие таскилы
|
|||
9
andrewks
18.08.12
✎
12:33
|
(8) ты про это? http://savepic.su/2338020.htm
|
|||
10
smaharbA
18.08.12
✎
13:31
|
(9) да, но и внешее приложение из пакетника должно быть запущено правильной строкой
|
|||
11
Torquader
19.08.12
✎
00:16
|
(10) Ну конечно, можно с ключом ожидания запустить.
Только, мне кажется, что "убивание" приложения - это как из пушки по воробьям, да и данным будет не очень хорошо. Можно накатать программку, которая будет отслеживать состояние 1С через WaitForInputIdle запущенного процесса и слать ALT+F4 или сразу WM_CLOSE для основного окна, чтобы 1С завершилась (но тут ещё нужно поймать диалог с вопросом и "пнуть" его в нужном направлении). По крайней мене у меня получается, только у меня запускается служба и из себя стартует 1С, которой может управлять, нажимая кнопки в форме. |
|||
12
serianomer
19.08.12
✎
15:41
|
(11)с каким ключом не подскажите?
|
|||
13
Jump
19.08.12
✎
15:48
|
(10)А на зависшем или ждущем сохранения приложении это сработает? Вроде там команда приложению на завершение идет, а не принудительное убивание, или нет?
|
|||
14
serianomer
19.08.12
✎
18:03
|
(9) тут настройка только в минутах и часах
нужно завершить работу приложения через ~10 секунд после начала |
|||
15
BuHu
19.08.12
✎
18:13
|
(14) может ты все таки расскажешь ,что запущенное приложение делает? и почему (2) тебе не подходит?
|
|||
16
serianomer
19.08.12
✎
18:16
|
(15)ситуация сложная, 1С себя конечно закрывает, когда все хорошо.
|
|||
17
BuHu
19.08.12
✎
18:19
|
(16) т.е. не расскажешь?
|
|||
18
serianomer
19.08.12
✎
18:21
|
(17)а зачем?
|
|||
19
Torquader
19.08.12
✎
23:33
|
(12) Ключ ожидания завершения /wait /b
только нет гарантии, что новый процесс окажется в той же группе и будет корректно завершён при аварийном завершении bat-файла. Если у вас процесс Win32, то он может быть убит, пока не создал собственное окно, так как в противном случае система отключает его от текущей консоли, и выполняется только Wait(ProcessHandle). С другой стороны, если есть ссылка на процесс (ProcessHandle), то можно выполнить TerminateProcess, которая выполняет аварийное завершение процесса, но для последнего это будет смертельно. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |