LINUX.ORG.RU

Запуск ряда приложений в скрипте

 , ,


0

2

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

Как проще всего реализовать такой скрипт?

★★★★★

Как проще всего реализовать такой скрипт?

Очень просто. vi имя-скрипта. Далее пишешь скрипт. Выход из vi с сохранением: [ESC] :wq. Потом chmod a+x имя-скрипта. Запускать так: ./имя-скрипта.

Black_Shadow ★★★★★
()

Или ты хочешь, чтобы скрипт написали за тебя? Тогда тебе в Job. Если ты хочешь, чтобы тебе помогли написать скрипт самостоятельно, опиши, в чём у тебя возникли проблемы.

Black_Shadow ★★★★★
()
Последнее исправление: Black_Shadow (всего исправлений: 1)
Ответ на: комментарий от Black_Shadow

Наверное, плохо объяснил. Мне нужно, чтобы программа А запускалась в фоне и сразу же управление переходило к программе Б. Как это реализовать? Я понимаю, что bash однозадачен, но должны же быть какие-то обходные пути.

meliafaro ★★★★★
() автор топика

Всё, решил сам. Прошу прощения за глупые вопросы, с утра туплю жестко.

meliafaro ★★★★★
() автор топика
Ответ на: комментарий от crutch_master

Благодарю, да, уже решил вопрос. У меня был косяк с синтаксисом, поэтому я думал, что это не работает.

meliafaro ★★★★★
() автор топика
Ответ на: комментарий от meliafaro

понимаю, что bash однозадачен

Это не так. Если ты хочешь, чтобы интерпретатор не дожидался окончания работы программы, добавь в конце строки символ &. Пример:

#!/bin/bash
program1 &
program2
Программы program1 и program2 будут работать параллельно.

Black_Shadow ★★★★★
()
Ответ на: комментарий от anonymous

либо trap-ом, либо сохранением PID-а процесса, который нужно останавливать автоматически; вестимо

anonymous
()
Ответ на: комментарий от anonymous

ужас какой. решается то все примитивно в одну строку.

anonymous
()
Ответ на: комментарий от anonymous

program1 & program2 && kill program1

/&&/;/, т.к. неизвестно, с каким статусом завершится второй процесс.

ArcFi
()
Ответ на: комментарий от ashot

И как закрытие program2 закроет program1? Тут выше анонимус ответил как надо делать.

Я отвечал на конкретный вопрос. Про закрытие речи не шло. Но это разве проблема?

Black_Shadow ★★★★★
()
Ответ на: комментарий от Black_Shadow

Я отвечал на конкретный вопрос. Про закрытие речи не шло.

Как это не шло?

Задача такая - нужен простой скрипт, запускающий fluidsynth и GuitarPro, после закрытия пользователем GuitarPro убивающий fluidsynth.

В любом случае ТСу уже все рассказали.

ashot ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.