Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2016, 22:34   #1
Negredo
 
Регистрация: 09.01.2015
Сообщений: 6
По умолчанию Process.Start() и MPI приложение

Добрый всем вечер.
Есть программа, написанная на С++, распараллеленная на MPI. Необходимо экзешник этой программы запустить из Веб приложения. Намереваюсь сделать это с помощью Process.Start().
Загвоздка в том, что эта программа запускается из консоли в следующем виде:
Код:
mpiexec.exe -n 2 Prim_MPI.exe 10
где
  • mpiexec - не знаю что это точно, видимо, какая-то специальная служба для запуска (в папке откуда происходит запуск её нет)
  • -n какой-то параметр
  • 2 - количество создаваемых процессов обработки данных
  • Prim.exe - запускаемая программа
  • 10 - входной параметр программы
Так на всякий случай тоже попробовал, но файл не находит
Код:
proc.StartInfo.FileName = @"путь\mpiexec.exe";
proc.StartInfo.Arguments = "-n 2 Prim_MPI.exe 10";
Если просто запускать программу, то она запускается с созданием только одного процесса обработки данных, а потому такой способ неприемлем
Код:
proc.StartInfo.FileName = @"путь\Prim_MPI.exe";
proc.StartInfo.Arguments = "10";
Читал, что Process.Start() может запустить всё, что запускается из консоли. Помогите, пожалуйста, решить проблему.

Последний раз редактировалось Negredo; 05.06.2016 в 23:04.
Negredo вне форума Ответить с цитированием
Старый 05.06.2016, 22:52   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Уберите путь к mpiexec, скорее всего он указан в PATH вашей ОС. Сами ж говорите, что в папке его нет. А для Prim_MPI в аргументах наверно наоборот надо добавить путь (или WorkingDirectory).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 05.06.2016, 22:58   #3
Negredo
 
Регистрация: 09.01.2015
Сообщений: 6
По умолчанию

Так а в качестве Filename что будет?
А WorkingDirectory я и так указываю, так как программа работает с файлами, которые в ней лежат.

Последний раз редактировалось Negredo; 05.06.2016 в 23:12.
Negredo вне форума Ответить с цитированием
Старый 05.06.2016, 23:17   #4
Negredo
 
Регистрация: 09.01.2015
Сообщений: 6
По умолчанию

О! У меня получилось!
Сделал так:
Код:
proc.StartInfo.WorkingDirectory = @"путь";
proc.StartInfo.FileName = "mpiexec";
proc.StartInfo.Arguments = "-n 2 Prim_MPI.exe 10";
Negredo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Process.Start("WinWord.exe") ольгаг Microsoft Office Word 10 01.12.2013 12:35
Не открывает exe файл через Process.Start DarkPower C# (си шарп) 2 24.03.2013 20:38
Process::Start("IExplorer.exe", "www.yandex.ru"); msemenikhin Visual C++ 0 02.02.2012 16:53
start в Linux Lohmatiyy Софт 3 20.11.2011 13:05
(process.h) Компилятор говорит Process не объявлен Парсифаль Общие вопросы C/C++ 0 15.02.2010 00:27