Как я понял ты хочешь с этой системой познакомится по-ближе, поэтому распишу подетальнее.
Vortex писал(а):Господа, мне кажеться вы копаете не там где надо. Я хочу что бы после ввода команды
у меня эта программа только запускалась, и потом оболочка переходила в обычный режим ввести очередную команду, типа
Большинство шелок по умолчанию, запуская что-либо, дожидаются окончания (или чего-либо другого, в том числе и приостановки) процесса после чего предлагают пользователю ввести новую комманду или запустить следующую в списке на исполнение.
Для того что бы бы шелка не ждала процесса, можно указать в конце символ "&" (можно сказать, означающий "выполнять в фоне").
В случае если процесс попытается вывести что-либо на терминал, ему пошлется сигнал приостановки (на подобии того если бы ты нажал Ctrl+Z в стандартном терминале). Смысл этого, пожалуй, в том что ты хочешь одновременно писать в один и тот же файл-устройство из двух процессов ("фонового" процесса, шелки и/или возможно еще каких-либо запущенных), а это странно и результат (к примеру, получишь вперемешку буквы от сообщений из разных процессов).
Что бы избежать этого можно использовать перенаправления потоков (угловые скобки "<" ">").
В bash'е есть естественный синтаксыс с понятным значением ">" - направить вывод куда-то, "<" - напрваить ввод откуда-то. Для работы не только со stdin (дескриптор 0)/stdout(дескриптор 1), но и с другими открытыми дескрипторами (stderr - 2) файлов можно использовать расширеный синтаксис "2> " - перенаправление дескриптора номер 2 (цифра неразрывна со скобочкой) в файл, ">&1" - перенаправление в дескриптор 1, "2>&1" - второй в первый.
В tcsh, где-то я слышал что "> &" означает перенаправить stdout и stderr. Но я не уверен.
В любом случае "bash -c 'mpd5 < /dev/null 2>&1 > /dev/null' &" сделает правильные перенаправления
Vortex писал(а):Код: Выделить всё
vortex# /usr/local/sbin/mpd5 > /dev/null 2>&1 < /dev/null &
Ambiguous output redirect.
vortex# mpd5 > /dev/null 2>&1 < /dev/null &
Ambiguous output redirect.
vortex# /usr/local/sbin/mpd5 > /dev/null &
[2] 1008
vortex# cd /
[2] + Suspended (tty output) /usr/local/sbin/mpd5 > /dev/null
vortex#
Судя по результату выполнения первой и второй комманды, у тебя tcsh (незнаю почему некоторые так продвигают эту шелку, я её просто ненавижу).
Что произошло у тебя:
первые две комманды не выполнились. думаю, ты еще хотел попробовать "mpd5 >& /dev/null &".
последняя выполнилась и, таки, заставила запустится mpd5, но в ней делалось лишь перенаправления стандартного вывода (stdout) и не делалось перенаправления стандартного потока "ошибок" (stderr), что и привело к остановке при попытке доступа к терминалу.
Из мануала я, лишь, увидел ключик
mpd писал(а):
-b --background
Run as a background daemon.
Т.е. теоретически "mpd5 -b" это то что ты хотел - запустить как "демон"