Запустите программу Java только если не уже выполнение

Есть идеи, как убрать эти нежелательные символы, такие как скобки [], u и apostrophe ('), и распечатать результат в моем желаемом формате?

Это потому, что кем бы вы ни были на самом деле печать - это питон list, содержащий 3 питона list, которые сами содержат юникод str

Если вы хотите, чтобы они были разделены линией, то фильтр join() сделает это за вас, и также должно быть безопасно использовать соединение для внутренних списков, в случае, если у вас когда-нибудь будет более одного значения во внутреннем списке:

# assuming your values are in a variable named "list_list_str"
- debug: var=the_output
  vars:
    the_output: '{{ list_list_str | map("join", "\n") | join("\n") }}'
15
задан Chris Martin 4 February 2017 в 03:57
поделиться

5 ответов

Я предполагаю, что Вы не управляете другими двумя приложениями... Если бы Вы сделали, то это не было бы слишком плохо - Вы могли бы просто сделать, чтобы они слушали сокет и видели, доступен ли сокет, когда Вы подходите.

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

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

, Если Вы не имеете НИКАКОГО контроля над запуском других приложений и не можете даже записать пакетный файл для запуска их, тогда Вы просто не можете сделать то, что Вы хотите сделать (Примечание, приложения должны были бы всегда использовать пакетный файл, даже если бы пользователь запустил их вручную).

я просто самое последнее усилие по канаве могло бы состоять в том, чтобы получить состояние процесса и проанализировать его, но необходимо будет знать точно, чем другие приложения назвали в PS, это не действительно тривиально. Кроме того, все приложения Java имеют тенденцию иметь ту же точную подпись в большинстве распечаток состояния процесса, которые могли сделать это бесполезным.

проблема состоит в том, что, если одна из этих программ была запущена вне Вашего приложения, у Вас нет фактически СПОСОБА определить, что факт, если Вы, оказывается, не знаете, что это - точная подпись состояния процесса и даже тогда, это облуплено.

6
ответ дан 1 December 2019 в 03:24
поделиться

См. Проверка, если программа или процесс будут работать (Windows)

This, то подсказка обнаружит, если данная программа будет работать. Хорошо, это не симпатично из-за vbscript, но легко реализовать.

1
ответ дан 1 December 2019 в 03:24
поделиться

Если бы я имел дело с этой проблемой в основанной на Unix системе, то я испытал бы желание записать собственную функцию, чтобы собрать информацию процесса и попытаться запустить внешние приложения. Это идет вразрез с духом Java, но тип информации, которую Вы пытаетесь собрать и управление запуска приложения, за пределами JVM.

я не знаю достаточно о программировании Windows для указания на Вас в правильном направлении, но я предполагаю, что существует Windows API calls, к которому Вы могли получить доступ на языках.NET или простом C++, который мог помочь Вам с Вашим вторым критерием. Возможно, Вы могли изменить вопрос притянуть не-Java-разработчиков, которые могли помочь.

<час>

Редактирование:

Выезд Shell Выполняют Функцию из Windows API. Опция SW_SHOWNOACTIVATE, кажется, позволяет текущему окну оставаться активным.

1
ответ дан 1 December 2019 в 03:24
поделиться

на Windows XP (про?) можно запустить команду 'список задач' и проанализировать вывод, чтобы определить, работает ли процесс. можно использовать потоки для предотвращения любой проблемы с фокусом (я думаю)

0
ответ дан 1 December 2019 в 03:24
поделиться

Вы можете использовать jps, чтобы узнать статус запущенной Java-программы. jps - это один из инструментов Java, например javac, java и т. д.,

0
ответ дан 1 December 2019 в 03:24
поделиться
Другие вопросы по тегам:

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