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

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

27.12.2016, 02:34. Показов 4498. Ответов 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
11556 / 4351 / 452
Регистрация: 12.06.2008
Сообщений: 12,454
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
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru