Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
3 / 3 / 1
Регистрация: 28.03.2014
Сообщений: 20

Скрипт для запуска программы

27.12.2016, 02:34. Показов 4536. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Не знаю, куда правильнее написать, поэтому пока сюда.
Написал программу в windows, но ее нужно запустить на линуксе (запуск удаленный, если что). Я в скриптах ничего не понимаю, поэтому мне дали два файла для запуска. Один из них:
Bash
1
2
3
4
5
6
7
8
#!/bin/sh
#PBS -l nodes=10:ppn=1
#PBS -e node-037:
#PBS -o node-037:
export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib:/usr/lib64/openmpi/lib/openmpi
 
hostname
/usr/lib64/openmpi/bin/mpiexec -mca btl openib,self -x LD_LIBRARY_PATH==/usr/lib64/openmpi/lib:/usr/lib64/openmpi/lib/openmpi -machinefile $PBS_NODEFILE $PBS_O_WORKDIR/rent_main_2
Да, программа выполнилась, но в ней (rent_main_2) было запрограммировано создание файла (.txt) с результатами работы, который, собственно, и не создается. (Этот скрипт создает логи выполнения программы (файл успешного выполнения и файл ошибок), поэтому сразу подумал на него). Возможно, дело и не в скрипте. Но если в нем, то напишите пожалуйста, как мне решить проблему создания этого файла. Спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.12.2016, 02:34
Ответы с готовыми решениями:

Скрипт авторизации на сайте (Для программы)
Доброго времени суток! Есть ли такой скрипт (для программы) который будет заходить на заданный сайт? Т.е. юзер вводит логин и...

Скрипт для запуска программы и автоматической идентификации пользователя
Всем добрый вечер. Поставили задачу такого плана (решить надо срочно, вот и обращаюсь) Есть программа, которая отвечает за охрану...

Вставка определенных значений из _config.ini в переменные для вставки в скрипт запуска другой программы
Здравствуйте. Столкнулся с такой проблемой что скрипт не считывает данные для переменных из файлов _config.ini Ситуация такая, программа...

9
504 / 247 / 75
Регистрация: 31.10.2010
Сообщений: 747
27.12.2016, 03:11
KepDbIk, а компилировали программу на C++ тоже в Windows?
вопрос снят
0
3 / 3 / 1
Регистрация: 28.03.2014
Сообщений: 20
27.12.2016, 03:23  [ТС]
RefSol, я не написал - на удаленном компьютере есть компилятор для с и с++.
я просто закидываю туда мой *.срр или *.с и два файлика со скриптами (первый, как я понял, для запуска компиляции и выполнения, а второй для создания файлов ("успешности" и ошибок) после выполнения программы. его текст я представил выше)
0
504 / 247 / 75
Регистрация: 31.10.2010
Сообщений: 747
27.12.2016, 03:55
KepDbIk, тогда для понимания что Вам надо прикрепите листинг С++. Проще всего написать простую программу на С++, точно работающую как надо и на ней уже отлаживать скрипт.
0
Почетный модератор
 Аватар для Humanoid
11559 / 4353 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
27.12.2016, 11:10
Из какой директории запускаете скрипт? Может, он создаёт в текущей директории... например, в /home/<user> ?
0
3 / 3 / 1
Регистрация: 28.03.2014
Сообщений: 20
27.12.2016, 11:43  [ТС]
Humanoid, да нет, я облазил все что можно и нигде не нашел. да и создаваться он должен, я думаю, как и в windows, в папке с исходным кодом (т.е. собственно туда, куда я и закидываю все мои файлы)
п.с. все скрипты и остальные файлы я закидываю в одну "рабочую" папку на том компьютере.

Добавлено через 4 минуты
RefSol, текст программы не из самых маленьких, поэтому для отладки механизма запуска я использую самую упрощенную версию, в которой в .txt записывается результат 2+2) да и от самого текста моей программы ничего не зависит, как мне объяснили.
0
504 / 247 / 75
Регистрация: 31.10.2010
Сообщений: 747
27.12.2016, 11:49
KepDbIk, программа может запускаться, но работать не корректно, или ни чего не выводить, поэтому проверять скрипт лучше на программе которая работает просто и выводит любые тестовые данные, хоть "2х2". Об этом Вам и писал ранее.
Есть ли у пользователя от имени которого запускается скрипт права на запись в данную директорию?
1
694 / 304 / 99
Регистрация: 04.07.2014
Сообщений: 851
27.12.2016, 13:44
KepDbIk, для начала вам прислали не просто скрипт запуска, а пример скрипта-задания для системы управления заданиями PBS Pro (или Torque).

Вычисления, вы собираетесь запускать на кластере.

Поэтому рекомендация: связаться с администраторами вашего вычислительного кластера и пройти у них мини курс по основам запуска MPI заданий на кластере.

В вашем случае:

Bash
1
#!/bin/sh
- большинство скриптов в Linux начинаются с такой строки-комментария в которой говорится какой программой он должен выполняться.
Поучите написание скриптов на bash: http://rus-linux.net/nlib.php?... -02-2.html

Bash
1
2
3
#PBS -l nodes=10:ppn=1
#PBS -e node-037:
#PBS -o node-037:
Эти строки-комментарии предназначены для системы управления заданиями на кластере. Первая просит 10 узлов по одному процессору на каждом. Ни или по простому: вы просите выделить вам 10 ядер процессоров, на любых серверах (хоть на одном, хоть на нескольких).
Следующие две строки задают имена выходных файлов. Мой совет их убрать из скрипта.

Bash
1
export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib:/usr/lib64/openmpi/lib/openmpi
Таким образом вы говорите где лежат библиотечные файлы OpenMPI. Способ очень странный, обычно можно встреть более универсальный module load opnempi, но для этого должен быть настроен кластер. Уточните пример запуска заданий в справке по работе с кластером.

Bash
1
hostname
Просто выведет имя сервера на котором PBS/Torque запустил реально вашу задачу.

Bash
1
/usr/lib64/openmpi/bin/mpiexec -mca btl openib,self -x LD_LIBRARY_PATH==/usr/lib64/openmpi/lib:/usr/lib64/openmpi/lib/openmpi -machinefile $PBS_NODEFILE $PBS_O_WORKDIR/rent_main_2
В этой строке вам надо менять только rent_main_2 на имя вашей скомпилированной программы.

Хотя у меня опять претензия ко всей этой строке. Большинство параметров здесь должны были быть настроены администратором кластера.
На большинстве кластеров такой скрип сводится к

Bash
1
2
3
4
5
6
7
8
9
#!/bin/bash
#PBS -N mpi_hello
#PBS -l select=10
 
module load openmpi
 
cd $PBS_O_WORKDIR
 
mpiexec ./mpi_hello_program_name
1
3 / 3 / 1
Регистрация: 28.03.2014
Сообщений: 20
27.12.2016, 19:15  [ТС]
RefSol, AlexVRud, большое спасибо за ответы! буду пробовать отлаживать мою программу.
AlexVRud, спасибо, что расписал, что все это значит (да, я уже читал про скрипты и пытался разобраться как они пишутся). Скрипт запускает другой, тестовый проект, который есть на кластере, поэтому полагаю, что он должен быть корректным. Если будут еще вопросы, а они наверняка появятся)) , то напишу сюда.
0
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154
23.02.2017, 15:46
А просто:

$ wine file.exe

или что-то подобное в Вашем дибустриве.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.02.2017, 15:46
Помогаю со студенческими работами здесь

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

Скрипт для запуска скайпа
Помогите решить проблему пожалуйста) Необходимо превратить ubuntu 11.04 rus в скайп-машину.Должен быть компьютер, предназначенный только...

Скрипт для запуска служб
Добрый день, Форумчане! За ранее извиняюсь, если пишу не в той теме, ибо не знал куда и пристроиться. Столкнулся с необходимостью написания...

Скрипт для запуска приложения
Надо создать скрипт для запуска программы, что бы она открывалась по пятницам вечером Как это сделать? Помогите пожалуйста, первый раз...

Скрипт для запуска приложения в windows
Добрый вечер господа! Собственно такая проблема возникла с PhP: нужен скрипт для запуска конкретного приложения в винде, причем путь на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru