командные интерпретатораы (запуск приложений)
Модератор: Bizdelnick
-
panic
- Сообщения: 30
командные интерпретатораы
Help
Если с терминала запускать какое либо приложение то вываливает кучу отладочной информации и он остается занят этим приложение. А если закрыть этот терминал закроется и приложение! приходится запускать новый терминал и продолжать работу.
Подскажите как запустить приложение что бы рабочий шел остался свободным!
И если можно сылочку на хорошую, русскую доку по командным интерпретаторам (желательно bash)
заранее благодарен всем ответившим!
Если с терминала запускать какое либо приложение то вываливает кучу отладочной информации и он остается занят этим приложение. А если закрыть этот терминал закроется и приложение! приходится запускать новый терминал и продолжать работу.
Подскажите как запустить приложение что бы рабочий шел остался свободным!
И если можно сылочку на хорошую, русскую доку по командным интерпретаторам (желательно bash)
заранее благодарен всем ответившим!
-
rolano
- Сообщения: 845
- Статус: еще один юзер FreeBSD
- ОС: какая-то
Re: командные интерпретатораы
Если после команды задать &, то она уйдет на фоновое исполнение
Я знаю только то, что ничего не знаю ... потому и обречен вечно учиться.
-
panic
- Сообщения: 30
-
allez
- Сообщения: 2223
- Статус: Не очень злой админ :-)
- ОС: SuSE, CentOS, FreeBSD, Windows
Re: командные интерпретатораы
Вы, насколько я понял, работаете в Иксах. Поэтому вот вам на выбор несколько решений:
1. Использовать в конце командной строки символ "&" для запуска приложения в фоновом режиме (man bash, раздел "Job control"). После этого терминалом можно будет пользоваться дальше. Чтобы избавиться от отладочной информации и сообщений об ошибках перенаправьте STDOUT и STDERR в /dev/null, вставив после команды такую конструкцию: >/dev/null 2>&1.
2. Воспользуйтесь командой nohup (man nohup). В этом случае окно терминала можно будет безболезненно закрыть.
3. Воспользуйтесь средствами запуска программ вашего оконного менеджера (среды). Поищите в главном меню пункт "Выполнить программу...", "Run..." или что-то подобное. Введите вашу командную строку в поле ввода и запускайте. Терминал в этом случае вообще не понадобится, за исключением запуска консольных приложений, но их-то как раз из терминала можно запустить (да и нужно - зачем лишние телодвижения делать?).
Что же до документации на русском - таки учите этот самый английский или в крайнем случае читайте доки на том иностранном языке, которым владеете. Это не вина наша, а беда, виноваты те, кто в свое время дружно называл кибернетику "продажной девкой империализма". А если уж кроме родного ничего не знаете и учить не хотите - в поиск, в поиск. Переводы есть и вы их легко найдете, но будьте готовы к тому, что они могут оказаться неточными или устаревшими.
P.S. Пока писал свой опус, rolano уже ответил. Что же, краткость - сестра таланта.
Прошу мое сообщение плагиатом не считать. 
1. Использовать в конце командной строки символ "&" для запуска приложения в фоновом режиме (man bash, раздел "Job control"). После этого терминалом можно будет пользоваться дальше. Чтобы избавиться от отладочной информации и сообщений об ошибках перенаправьте STDOUT и STDERR в /dev/null, вставив после команды такую конструкцию: >/dev/null 2>&1.
2. Воспользуйтесь командой nohup (man nohup). В этом случае окно терминала можно будет безболезненно закрыть.
3. Воспользуйтесь средствами запуска программ вашего оконного менеджера (среды). Поищите в главном меню пункт "Выполнить программу...", "Run..." или что-то подобное. Введите вашу командную строку в поле ввода и запускайте. Терминал в этом случае вообще не понадобится, за исключением запуска консольных приложений, но их-то как раз из терминала можно запустить (да и нужно - зачем лишние телодвижения делать?).
Что же до документации на русском - таки учите этот самый английский или в крайнем случае читайте доки на том иностранном языке, которым владеете. Это не вина наша, а беда, виноваты те, кто в свое время дружно называл кибернетику "продажной девкой империализма". А если уж кроме родного ничего не знаете и учить не хотите - в поиск, в поиск. Переводы есть и вы их легко найдете, но будьте готовы к тому, что они могут оказаться неточными или устаревшими.
P.S. Пока писал свой опус, rolano уже ответил. Что же, краткость - сестра таланта.
-
t.t
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: командные интерпретатораы
Как вариант: &>/dev/null(allez @ Dec 19 2005, в 19:13) писал(а):>/dev/null 2>&1
Вот за это спасибо -- забыл совсем.(allez @ Dec 19 2005, в 19:13) писал(а):Воспользуйтесь командой nohup
Хочу немного добавить: ещё можно контролировать такие моменты через средства управления "работами" (jobs)/ Каждый процесс, инициированный с терминала, ассоциируется на этом терминале с номером работы. Если процесс инициирован не в фоновом режиме, его можно сначала приостановить нажатием Ctrl+Z в терминале, после чего будет выведена строка типа
Код: Выделить всё
[1]+ Stopped имя-процессаЧисло в квадратных скобках -- и есть номер работы. Список всех работ на текущем терминале можно посмотреть командой jobs (см. man jobs); отправить работу в фон -- командой bg номер-работы (от слова background, см. man bg), вернуть работу из фона -- командой fg номер-работы (от слова foreground, см. man fg) или %имя-процесса (без пробела).
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
allez
- Сообщения: 2223
- Статус: Не очень злой админ :-)
- ОС: SuSE, CentOS, FreeBSD, Windows
Re: командные интерпретатораы
... а потом пришел t.t и все не просто разложил по полочкам, но еще и подписал эти самые полочки, а также сделал соответствующие записи в каталожной книге.
За что и снискал заслуженное уважение (по крайней мере, мое - точно).
-
t.t
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: командные интерпретатораы
2allez: Вы первый начали
Ах да, забыл совсем..
классика
Взаимно.(allez @ Dec 19 2005, в 21:21) писал(а):снискал заслуженное уважение (по крайней мере, мое - точно)
Ах да, забыл совсем..
http://gazette.linux.ru.net/rus/articles/i...-abs-guide.html(panic @ Dec 19 2005, в 18:42) писал(а):И если можно сылочку на хорошую, русскую доку по командным интерпретаторам (желательно bash)
классика
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
allez
- Сообщения: 2223
- Статус: Не очень злой админ :-)
- ОС: SuSE, CentOS, FreeBSD, Windows
Re: командные интерпретатораы
Хм, а я вот решил, что "Advanced Bash-scripting guide" - не совсем тот документ, который имел в виду автор темы (мне почему-то про перевод man bash подумалось), но таки да, это классика и вреда от нее в любом случае быть не должно.
-
t.t
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: командные интерпретатораы
А перевод не то man bash, не то info bash я тоже где-то в сети видел, но мне он меньше понравился. Не знаю, не то перевод был хуже, не то просто от того, что в ABS я пока, в отличие от, находил _всё_, что искал.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
JaGoTerr
- Сообщения: 380
Re: командные интерпретатораы
К словам t.t ещё можно добавить, что после того как вы приостановили выполнение программы (нажатием Ctrl-Z) можно выполнить команду disown (есть в bash и zsh, в др. не знаю) чтобы "отцепить" процесс от вашего терминала, а затем kill -CONT -PID, чтобы продолжить приостановленный процесс. Всё. Терминал свободен, можете закрывать.
Детали: в случае с zsh необходимо установить опцию nohup (setopt nohup), чтобы отцепленные подобным образом процессы не убивались при завершении процесса интепретатора.
Детали: в случае с zsh необходимо установить опцию nohup (setopt nohup), чтобы отцепленные подобным образом процессы не убивались при завершении процесса интепретатора.
-
madskull
- Сообщения: 1019
- Статус: Экс-металлюга
Re: командные интерпретатораы
JaGoTerr писал(а): ↑20.12.2005 10:48К словам t.t ещё можно добавить, что после того как вы приостановили выполнение программы (нажатием Ctrl-Z) можно выполнить команду disown (есть в bash и zsh, в др. не знаю) чтобы "отцепить" процесс от вашего терминала, а затем kill -CONT -PID, чтобы продолжить приостановленный процесс. Всё. Терминал свободен, можете закрывать.
Детали: в случае с zsh необходимо установить опцию nohup (setopt nohup), чтобы отцепленные подобным образом процессы не убивались при завершении процесса интепретатора.
МощнА! Спасибо.
Век живи, а все равно неучем помрешь.
ArchLinux / IceWM
-
t.t
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: командные интерпретатораы
Присоединяюсь. Про disown я тоже не знал. По-моему, всё, что мы тут втроём наваяли, уже тянет на небольшую хаутуёвину. Могу слепить это всё вместе; allez, JaGoTerr, что скажете?(madskull @ Dec 20 2005, в 11:02) писал(а):МощнА! Спасибо.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
JaGoTerr
- Сообщения: 380
Re: командные интерпретатораы
Я не против. Только надо в этом случае мой пост чуть развернуть, я написал весьма коротко и наспех, чтобы просто "указать направление"
. Вечерком постараюсь сделать более расширенно. Тем паче, что например в bash и zsh синтаксис команды disown сильно разнится. Могу описать и тот и другой. Выложу сюда.
-
t.t
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: командные интерпретатораы
2JaGoTerr: ок, у меня всё равно сегодня на это времени не будет.
Думаю, будет хорошо, если более развёрнуто напишете (-шь? никак не вспомню, мы на "вы" или на "ты"?
)
Думаю, будет хорошо, если более развёрнуто напишете (-шь? никак не вспомню, мы на "вы" или на "ты"?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
Sparky
- Сообщения: 604
- Статус: core dumped
- ОС: Plan 9
Re: командные интерпретатораы
JaGoTerr писал(а): ↑20.12.2005 10:48К словам t.t ещё можно добавить, что после того как вы приостановили выполнение программы (нажатием Ctrl-Z) можно выполнить команду disown (есть в bash и zsh, в др. не знаю) чтобы "отцепить" процесс от вашего терминала, а затем kill -CONT -PID, чтобы продолжить приостановленный процесс. Всё. Терминал свободен, можете закрывать.
Детали: в случае с zsh необходимо установить опцию nohup (setopt nohup), чтобы отцепленные подобным образом процессы не убивались при завершении процесса интепретатора.
Это как бы "демонизация" процесса. Прикольно, спасибо!
Блог
--------------------
GCS/M/MU/P/IT/E d- s: a- C++(+++) UBL++ P->-- L+++$ E- W+++$ N* o? K? w>--
O M-@ V- PS@ PE+ Y+ PGP+ t 5 X R* tv-->- b++ DI? D>+ G e+(++) h--- r+ y++
--------------------
GCS/M/MU/P/IT/E d- s: a- C++(+++) UBL++ P->-- L+++$ E- W+++$ N* o? K? w>--
O M-@ V- PS@ PE+ Y+ PGP+ t 5 X R* tv-->- b++ DI? D>+ G e+(++) h--- r+ y++
-
panic
- Сообщения: 30
Re: командные интерпретатораы
я бы с радостью стал счастливым вникателем в эту "хаутуёвину"!!!
а за сылочку спасибо
-
t.t
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: командные интерпретатораы
Как будет готово, сообщу в эту же тему.(panic @ Dec 20 2005, в 14:26) писал(а):я бы с радостью стал счастливым вникателем в эту "хаутуёвину"!!!
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
panic
- Сообщения: 30
-
alv
- Бывший модератор
- Сообщения: 7275
- Статус: Пенсионер в законе
- ОС: Cintu
Re: командные интерпретатораы
пишем? в дополнение к имеющемуся про автодоплнения?
-
t.t
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: командные интерпретатораы
Ну да, видишь, уже идёт работа:(alv @ Dec 20 2005, в 19:11) писал(а):пишем? в дополнение к имеющемуся про автодоплнения?
(t.t @ Dec 20 2005, в 11:21) писал(а):По-моему, всё, что мы тут втроём наваяли, уже тянет на небольшую хаутуёвину. Могу слепить это всё вместе; allez, JaGoTerr, что скажете?
(JaGoTerr @ Dec 20 2005, в 11:56) писал(а):Я не против. Только надо в этом случае мой пост чуть развернуть, я написал весьма коротко и наспех, чтобы просто "указать направление" . Вечерком постараюсь сделать более расширенно. Тем паче, что например в bash и zsh синтаксис команды disown сильно разнится. Могу описать и тот и другой. Выложу сюда.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
allez
- Сообщения: 2223
- Статус: Не очень злой админ :-)
- ОС: SuSE, CentOS, FreeBSD, Windows
Re: командные интерпретатораы
Возражениев не имею.По-моему, всё, что мы тут втроём наваяли, уже тянет на небольшую хаутуёвину. Могу слепить это всё вместе; allez, JaGoTerr, что скажете?
-
JaGoTerr
- Сообщения: 380
Re: командные интерпретатораы
Времени не было вчера. Уж извините, наобещал и не сделал 
Но я напишу.
Но я напишу.
-
t.t
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: командные интерпретатораы
2JaGoTerr: да ничего, я всё равно тоже пока занят.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж