![]() |
start cmd
всем доброго времени суток.
может быть кто-то подскажет. есть несколько машин, на которых каждые 5 мин запускается скрипт, он выполняет много разных действий, в том числе при появлении в папке autorun.bat файла, он его запускает командой start /min %RUN%AutoRun.bat , ждет 15 секунд и продолжает свою работу....в конце он закрывает себя и все свои дочернии процессы командой taskkill /T /F /IM cmd.exe /FI "WINDOWTITLE EQ Администратор: proga*" и этот скрипт править не разрешают проблема родилась, когда autorun.bat должен выполняться дольше....получается он запускается, выполняется, а потом taskkill его рубит, возник вопрос, можно ли как-то записать в AutoRun.bat, запуск другого bat файла, который не будет дочерним, а создаст отдельный процесс, и продолжит свою работу после taskkill. |
Цитата:
Ответ по уму: пакетные файлы не могут быть или не быть «дочерними», таковым свойством могут обладать по отношению друг к другу только процессы. В данном случае речь может идти только о процессах cmd.exe. Так или иначе, start тут не поможет. Вы можете создать назначенное задание, которое будет вызывать на исполнение пакетный файл, сразу же вызвать задание на немедленное исполнение, затем удалить это задание. |
да, про планировщик уже думал, но может есть более элегантное решение....
ведь в виндовс может быть открыто несколько окон cmd и если из одного открывать новые cmd, то они по taskkill /T закроются как дочерние, а отдельно открытое окно, спокойно продолжит свою работу |
Цитата:
|
Iska, спасибо....второй вариант для моей задачи много удобнее....autorun.bat запустит батник, первой строчкой в которой будет убить autorun.bat и все
|
4EJLO6PEK, «убивать» ничего не надо. достаточно будет того, что промежуточный итерпретатор команд запустит дочерний процесс и просто завершит свою работу. Сам.
|
Iska, ну или exit нужен в конце иначе остается консоль....или taskkill
|
Не нужен, если используете тот самый start.
|
Время: 23:01. |
Время: 23:01.
© OSzone.net 2001-