Как запустить одну программу много раз

Я разрабатываю клиентскую часть своего приложения, используя IntelliJ IDEA. Для отладки мне нужно запустить несколько клиентов.

Я предполагаю, что запуск одних и тех же проектов в разных окнах невозможен с IntelliJ IDEA. Итак, как запустить несколько клиентов для отладки?

27.02.2019 12:32
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.

Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше.

Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -.

Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.

Оператор pass в Python — это простая концепция, которую могут быстро освоить даже новички без опыта программирования.

Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Запуск нескольких копий игр и программ

Вы можете запустить или отладить один и тот же Запуск/отладка конфигурации в IntelliJ IDEA несколько раз, если установите флажок Разрешить параллельный запуск.

Вы увидите вкладку для каждого экземпляра в окне инструментов «Выполнить» или «Отладка».

В предыдущих версиях IDE этот флажок назывался Только один экземпляр, и его действие было обратным.

27.02.2019 12:42

Другие вопросы по теме

Рефакторинг двух проектов Java в IntelliJ
Можно ли вставить зависимость в начало списка зависимостей модулей Intellij?
«Нет основного атрибута манифеста» при создании банки Kotlin с использованием IntelliJ IDEA

Удаление зависимостей как дубликатов в дочернем pom.xml приводит к ошибкам, поскольку зависимости находятся в родительском pom.xml

Как убрать черный курсор в моей идее inteljii
Openjfx — IntelliJ — Maven: InvocationTargetException при создании элемента
Заставьте Intellij использовать зависимости Uber Jar
Intelij автоматически исправляет ошибки стиля проверки градиента, такие как форматирование?
Какова моя потенциальная проблема с зависимостями, intellij?

Java: удалить форму графического интерфейса

Похожие вопросы

Как сказать IntelliJ IDEA искать непрерывную строку?
Как выделить меньше памяти для Scala с помощью IntelliJ
INTELLIJ IDEA Как установить артефакт так же, как война под целью
PyCharm CE сообщает «недостаточно памяти», даже если он установлен и перезапущен
Подключиться к базе данных через два туннеля ssh в IntelliJ IDEA
Невозможно создать пакет java в проекте maven, импортированном в Intellij

Установите точку останова PyCharm в лямбда-функции Python
Невозможно добавить YAML в Intellij с помощью Gradle

Intellij IDEA, стиль кода для объекта javascript, как удалить кавычки, когда это не нужно вокруг ключа?

Jar сборки Intellij Grade с зависимостями
Правовая информация

Находите ответы на сложные технические вопросы по программированию, с которыми сталкиваются инженеры по всему миру в своей ежедневной практике на сайте RedDeveloper.

Как запустить несколько программ сразу (одним кликом)

Источник: reddeveloper.ru

Как я могу запускать один и тот же exe-файл последовательно N раз?

У меня есть exe-файл. Я хочу запустить его несколько раз подряд один за другим. Я попробовал ниже пакетный файл, но не смог это сделать, есть ли способ сделать это? Извините, но я новичок в написании кода

Что значит «не смог»? Это запустит вашу программу три раза в трех разных окнах. Если вы хотите запускать их последовательно, а не одновременно, удалите start . Если есть что-то еще, что вы не понимаете, пожалуйста, объясните более четко. — paddy

Извините. Он отлично работает, как вы сказали. Он работает одновременно в 3 раза. Я хочу запустить его, дождаться его остановки, затем снова запустить и дождаться остановки, продолжается N раз. — user2078228

Читайте также:
Программа которая читает сообщения ВК

1 ответы

При условии, что ran.exe находится в текущей папке или на вашем пути, то вы просто пишете:

вызвать его три раза. Если он не обнаружен на PATH , затем используйте полное имя, подобное этому:

Запуск программы — это обычный результат присвоения ей имени в строке пакетного файла.

Кроме того, поскольку .EXE указан в PATHEXT переменная среды, вам не нужно включать ее в имя, если только нет имени файла ran.com с .COM указан в значении по умолчанию PATHEXT впереди .EXE .

Наблюдения и советы этой статьи мы подготовили на основании опыта команды START встроенная команда необходима только в пакетных файлах для обработки некоторых особых случаев. См. вывод START /?1 для его документации. В общем, он не нужен только для запуска программ.

Обновление: Чтобы обобщить это на N вызовов, используйте FOR команда. FOR чрезвычайно мощный, типа FOR /? в командной строке для документации. Для N повторов, указанных в качестве аргумента пакетного файла, и передачи текущего счетчика команде в качестве первого аргумента выполните следующее:

Сложная вещь, чтобы помнить с FOR заключается в том, что переменная итерации в пакетных файлах должна называться с двумя знаками процента. В тексте справки это сказано, но только мимоходом.

Обновление 2: Еще немного подробностей и пояснений.

В этом случае мы хотим повторить команду N раз. FOR поддерживает множество видов циклов, но самый простой способ получить ровно N итераций — использовать его /L параметр, который использует начальное значение, размер шага и конечное значение для определения количества итераций. Они указаны в скобках, как FOR /L %%N (start,step,end) . Чтобы получить простой счетчик от 1 до N, мы указываем ему начинать с 1, шаг за шагом 1 и останавливаться на значении первого аргумента пакетного файла с именем %1 .

Аргументы самого пакетного файла называются как %1 через %9 , и %* называет все аргументы. Обратите внимание, что здесь есть огромное минное поле тонкостей, связанных с правильным заключением в кавычки имен файлов, содержащих пробелы. Чтобы жизнь была простой, очень постарайтесь не нуждаться в этом. В противном случае, CALL /? документирует соглашения об аргументах командной строки и SET /? документирует многие вещи, связанные с общими переменными пакетного файла.

Другие формы FOR позволяют перебирать файлы (без вариантов), каталоги ( /D ), каталоги рекурсивно в дереве ( /R ), или различные части содержимого файлов ( /F ).

Источник: stackovergo.com

Как запустить одну программу много раз

Как запустить несколько копий Диспетчера задач

Как запустить несколько копий Диспетчера задач

Если запустить стандартный Диспетчер задач Windows, а потом попробовать запустить его еще раз, то вторая копия не запустится, просто активируется первая запущенная копия. Я не знаю, зачем это было сделано, но какая-то причина наверняка есть. Элегантного решения с параметром в командной строке, как было в случае с regedit, у taskmgr нет. В подобных случаях я придерживаюсь принципа, что если нельзя, но очень хочется, то можно.

Давайте сперва узнаем, каким образом Диспетчер задач определяет, что как минимум одна его копия уже запущена. Есть несколько способов, с помощью которых это можно сделать. Перебором этих способов я выяснил, что сперва проверятся наличие мьютекса с корявым именем типа LocalTASKMGR.879e4d63-6c0e-4544-97f2-1244bd3f6de0, если он уже есть, то выполняется еще одна проверка:

Code (Assembler) : Убрать нумерациюВыделить код

  1. . text : 0100DFAD leaeax , [ ebp + Buffer ]
  2. . text : 0100DFB3 pusheax ; lpWindowName
  3. . text : 0100DFB4 push 8002h ; lpClassName
  4. . text : 0100DFB9 callds : FindWindowW
  5. . text : 0100DFBF mov [ ebp + hWnd ] , eax
  6. . text : 0100DFC5 testeax , eax
  7. . text : 0100DFC7 jzshort loc_100E02F
  8. . text : 0100DFC9 leaecx , [ ebp + dwProcessId ]
  9. . text : 0100DFCF pushecx ; lpdwProcessId
  10. . text : 0100DFD0 pusheax ; hWnd
  11. . text : 0100DFD1 callds : GetWindowThreadProcessId
  12. . text : 0100DFD7 push [ ebp + dwProcessId ] ; dwProcessId
  13. . text : 0100DFDD callds : AllowSetForegroundWindow
  14. . text : 0100DFE3 leaeax , [ ebp + dwResult ]
  15. . text : 0100DFE9 pusheax ; lpdwResult
  16. . text : 0100DFEA push 2710h ; uTimeout
  17. . text : 0100DFEF push 2 ; fuFlags
  18. . text : 0100DFF1 push 0 ; lParam
  19. . text : 0100DFF3 push 0 ; wParam
  20. . text : 0100DFF5 push 40Bh ; Msg
  21. . text : 0100DFFA push [ ebp + hWnd ] ; hWnd
  22. . text : 0100E000 callds : SendMessageTimeoutW
  23. . text : 0100E006 testeax , eax
Читайте также:
Какой программой можно открыть файл xlsx на компьютере

Ищется определенное окно по имени и классу, если оно найдено, то по совокупности результатов двух проверок делается вывод, что это и есть ранее запущенный Диспетчер задач. Процессу-владельцу найденного окна передается право на перемещение своего окна на передний план, после чего ему отправляется сообщение на активацию.

Если подходящего окна не найдено, то новая копия считает, что одноименный мьютекс был создан абсолютно другой программой и запускается в обычном порядке. Удалить чужой мьютекс вроде бы можно, но там очень нетривиальные и грязные методы, которые лучше не применять. А вот сделать так, чтобы не было найдено окно уже запущенной копии taskmgr, — это мы запросто. Напомню, поиск выполняется по имени и классу, изменить класс уже созданного окна невозможно, но можно поменять заголовок, например, дописать к нему в конец символ пробела. Визуально для пользователя ничего не изменится, но функция FindWindow такое окно уже не найдет.

Если планируется работать только в одной конкретной локали, то можно использовать поиск по строке «Диспетчер задач Windows» или какая там вам нужна, но лучше сделать универсальное решение. Давайте посмотрим, откуда в самом taskmgr берется строка заголовка для проверки. Обнаружится вот такой код:

Code (Assembler) : Убрать нумерациюВыделить код

  1. . text : 0100DF62 push 104h ; cchBufferMax
  2. . text : 0100DF67 leaeax , [ ebp + Buffer ]
  3. . text : 0100DF6D pusheax ; lpBuffer
  4. . text : 0100DF6E push 2713h ; uID
  5. . text : 0100DF73 push hInstance ; hInstance
  6. . text : 0100DF79 callds : LoadStringW

Из ресурсов файла taskmgr.exe загружается юникодная строка с индексом 2713h, это и есть текст заголовка окна Диспетчера задач для языка установленной системы Windows. Я проверил на нескольких системах, индекс строки в ресурсах везде одинаковый.

Для того, чтобы запустить вторую и следующие копии Диспетчера задач, надо выполнить следующие действия. Из ресурсов файла taskmgr.exe загружается строка заголовка окна. Ищутся все окна верхнего уровня с этим заголовком и классом 8002h, затем заголовок каждого из них меняется на эту же строку, но с дописанным в конце пробелом. После этого можно смело запускать новый процесс taskmgr.exe удобным для вас способом.

Code (Assembler) : Убрать нумерациюВыделить код

  1. szFileName du ‘taskmgr.exe’ , 0
  2. szSpace du ‘ ‘ , 0
  3. OldClassName rb 100h
  4. NewClassName rb 100h

Code (Assembler) : Убрать нумерациюВыделить код

Процедуру придется повторять каждый раз перед запуском каждой новой копии taskmgr, так как заголовок восстанавливается при любых действиях с окном Диспетчера задач, например, при переключении вкладок.

Если не хочется применять загрузчик, например, для своей домашней системы, то можете просто пропатчить файл taskmgr.exe, заменив условный переход JZ после FindWindow на безусловный JMP. Но это так себе решение, Windows плохо относится к модификации системных файлов, да и сам файл может быть перезаписан при каком-нибудь очередном обновлении.

В приложении пример программы с исходным текстом, которая запускает две и более копии Диспетчера задач.

Пример программы с исходным текстом (FASM)

Просмотров: 2500 | Комментариев: 9
Внимание! Статья опубликована больше года назад, информация могла устареть!

Комментарии

Отзывы посетителей сайта о статье
X-Wing Top Ace (09.10.2019 в 16:24):

Цитата А я вот привык пользоваться именно штатным виндовым таскманагером
Засомневался, отключил в ProcExp’е замещение таскманагера и нажал Ctrl+Alt+Del. Посмотрел на таскманагер повнимательнее, еще раз убедился, что не зря от него отвык давно, надежно и без малейшего желания выкнуть обратно, завершил его и снова включил его замещение Process Explorer’ом.

В панели настройки отображаемых колонок нет флажков для отображения полного имени экзюка и/или командной строки запущенного процесса. То есть от слова совсем. 😉 И по-другому их в таскманагере тоже не увидеть. Если, скажем, Process Hacker с самого начала отображает эту инфу в хинтах при наведении крысы на интересующий процесс (я люблю, чтобы она была видна в окне для всех процессов, и именно поэтому намного чаще юзаю Process Explorer, но это уже дело вкуса — обе альтернативы хорошие, нефиг разводить холивар Process Explorer vs Process Hacker. И вообще, в Process Hacker’е просто была хитрее запрятана настройка колонок, теперь у меня полные имена видны и в его окне), то с таскманагером XP SP3 что я только не делал — полные пути к экзюкам процессов в нем не удалось увидеть нигде от слова никак. 😉

Читайте также:
Модификацией программы для эвм или базы данных

Правда, это под XPенью — в семерке и выше они все же добавлены. Только начиная с семерки, блин! 😉

Неудивительно, что технокрысы, пишущие автодрянных троянцев, записывают свои поделия, скажем, в каталог Fonts под именем svchost.exe, spoolsw.exe и т. д. — если на машину не поставить нормальную альтернативу таскманагеру, увидеть, что откуда запущено, невозможно! А значит, непонятно, который из этих процессов нужно прибить. Редактировать автозагрузку при активном троянце в системе — бесполезняк, троянец снова пропишется, если его кодил не полный ламер.

ManHunter (06.10.2019 в 23:24):
Жжошь, чертяка
voffka (06.10.2019 в 20:33):
Зачем, зачем — в полной версии лаунчера можно устроить «войну диспетчеров» под саундтрек из горца.
avp1965 (04.10.2019 в 18:57):

Мда-ааа. разбурчались, как «старпёры».
«Ежели человек ещё что-то думает — значит ещё Homo Sapiens» )))))

u-b0at (04.10.2019 в 16:40):

2ManHunter: Множество окон? Там же есть соответствующие вкладки. Или это на любителя — вместо того, чтобы листать вкладки в одном окне, можно перебирать открытые окна приложений. Или это нужно ооооочень продвинутым)) Экспертам. Ну, всё равно интересно.

Спасибо!

ManHunter (04.10.2019 в 14:28):

А я вот привык пользоваться именно штатным виндовым таскманагером, хотя про альтернативы прекрасно знаю.

X-Wing Top Ace (04.10.2019 в 13:21):

Цитата запустить несколько копий Диспетчера задач
А на фига? Process Explorer же есть (и не только он). В настройках ProcExp’а запуск только одной копии отключается на раз. А «Диспетчер задач». Все равно что юзать «Проводник» при наличии TotalCmd, FAR’а, DblCmd и прочих нормальных двухпанельников.

И если с «Проводником» была своя рациональная причина (пока с моей подачи не нашелся плагин для «Тотальника», позволяющий обойтись без «Проводника»), то здесь. на фига?

Немного оффтопа. В свое время пришлось (развелось их на предприятии, а штатный сисадмин не мычал, не телился и даже сам разносил эту заразу на своих флэшках) врукопашную вычищать трояны, плодящиеся через автодрянь. Так вот, от «Диспетчера задач» толку не было. Когда врукопашную вычищаешь троянца, нужно видеть полные пути к файлам запущенных процессов. В «Диспетчере задач» это либо невозможно, либо к правому уху через левую пятку и с натягом совы на глобус впридачу.

На зараженной машине первым делом я с лазерного чудо-диска (чтоб на свою флэшку не подхватить) распаковывал в каталог на винте и запускал Process Explorer, чтобы легко увидеть, какой из одноименных процессов откуда был запущен. В ProcExp’е это просто — включаешь колонки пути и командной строки и все видишь (лично я так и оставляю их включенными в настройках ProcExp’а).

ManHunter (04.10.2019 в 10:42):

В одном окне список процессов, в другом окне загруженность сети. Ну и так, из любопытства, интересно же.

u-b0at (04.10.2019 в 10:12):

Простите моё невежество, имею вопрос — зачем?
Зачем нужно запускать более, чем одно приложение «Диспетчер задач»?

Источник: www.manhunter.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru