|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.03.2015, 20:15 | #1 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Удаленная консоль.
Всем доброго. Все думал задавать вопрос или нет, всетки задам.
Появилась у меня прихоть - прикрутить к одной программе удаленное управление типа Telnet. Удаленная консоль CMD если по факту. Проще говоря - я хочу со своего компа написать команду dir и получить результат с удаленного компа, как будто я за ним сижу. Сам telnet мне использовать не хочется, причины свои, да и в винде, что использую я он урезан. По факту на половине компов его нет. RAdmin-овская консоль управления хороша, но я там не все могу выполнять. Например понадобилась команда taskkill, а консоль РАдмина сказала что не в курсе такой. В общем подумал я прикрутить свой удаленный командник. И вроде бы нет никаких сложностей запустить CMD передав ему параметром команду, но что делать с командами перехода типа cd? Ведь после исполнения консоль должна оставаться открытой, иначе результат выполнения такой команды сведется на нет. Вот и встал вопрос как лучше всего поступить. Какими технологиями воспользоваться.
I'm learning to live...
|
14.03.2015, 20:41 | #2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Пусть приложение сервер держит запущенной cmd.exe с перенаправлением stdin,stdout,stderr в пайпы и запускает\закрывает тек. экземпляр cmd.exe тоже по команде.
Вот и все решение. |
14.03.2015, 21:08 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
М.м.м... Пайпы... Я читал что у них есть ограничение на размер данных.
И вот такая программа как far к примеру. С ней то так не получится удаленно работать. Хотелось бы зацепить не просто консоль, а и консольно-ориентированное ПО.
I'm learning to live...
|
14.03.2015, 21:17 | #4 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
+1
рекомендую comspec запускать в джобе (CreateJobObject). Помню в какой-то консольке если запустить неконсольную прогу консоль подвисает, и у юзера "некорректно" висит левое окно или месажбокс А так еслифче закрыл сокет и все автоматом кильнулось консольно ориентированное... замучаешься... хотя http://www.programmersforum.ru/showthread.php?t=207504 для начала замути чтоб правильно CR обрабатывалось, т.е. печать на одной строке без LF
Не стесняемся, плюсуем!
Последний раз редактировалось Slym; 14.03.2015 в 21:30. |
14.03.2015, 21:29 | #5 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
I'm learning to live...
|
||
14.03.2015, 21:35 | #6 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
допустим есть консоль cmd
ты ей послал regsvr32... юзеру вылез месажбокс и висящий процесс, который нужно не забыть перед выходом грохнуть... а в Job можно задать ограничение, и при киле джоба кильнется все что было в нем запущено: и cmd и все что было через него запущено. хуже когда консолька зависает например start /wait породит новую консоль подвесив старую и корректно тут не выйти, exit не обработается, а в случае job - закрыв соединение убиваешь job и все с ним
Не стесняемся, плюсуем!
Последний раз редактировалось Slym; 14.03.2015 в 21:40. |
14.03.2015, 21:57 | #7 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Хм... надо это поподробнее обдумать.
А вдруг мне понадобится запуск GUIшного ПО? Ну вот так получается что юзверь звонит мол "У мну зависло - нажмите за меня кнопку". Они у меня не умеют через диспетчер снимать процессы. И шо самое интересное не умеют и запускать с рабочего стола. Прога запускается при запуске винды. Ситуация конечно туповатая, и должна решаться обучением, но увы... В общем если мне нужно запустить прогу любую, то получается что если я ее запущу в процесс, привязанном к джобу после дисконнектнусь - запущенное закроется. Так ведь?
I'm learning to live...
|
14.03.2015, 22:03 | #8 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
Закроется. Я один раз намучался грохать за собой запущеный мусор.
Делай как знаешь... Но далее тебе захочется видеть уже и рабочий стол а это может даже проще чем консоль http://www.programmersforum.ru/showp...63&postcount=5
Не стесняемся, плюсуем!
Последний раз редактировалось Slym; 14.03.2015 в 22:05. |
14.03.2015, 22:11 | #9 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Бывает приходит приказ "Срочно обновить ПО... вчера". А обновки требуют инсталляции визуально. И приходится юзеров выгонять - клиентов задерживать. Так бы проинсталлил их удаленно в фоне и порядок. Сами инсталлки не сложные - пара записей в реестр и копирование DLL в каталоги с последующей регистрацией. В консоли скриптом вполне можно отделаться - быстрее чем визуальная инсталляция и удобнее. Вот и ищу способы как это сделать.
I'm learning to live...
|
|
14.03.2015, 22:31 | #10 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
можно воспользоваться msi редакторами, но т.к. XPEmb может непроканать...
запили свой пакет инсталяшки и тут вспомнился формат файла обновлений DRWeb... Код:
все упаковываем в zip и шлем клиенту install MiPackage.zip клиент распаковывает в темп, ишет наш аля "drweb32.lst" и интерпритирует скрипт
Не стесняемся, плюсуем!
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удаленная отладка | DDoSed | PHP | 0 | 02.01.2013 17:58 |
Удаленная БД | Apostol13 | БД в Delphi | 6 | 15.06.2011 09:23 |
удаленная MySql | генерал | БД в Delphi | 3 | 24.04.2011 18:46 |
Удаленная БД | DenisUser | Помощь студентам | 1 | 03.12.2007 11:44 |