Закрытие программы вслед за консолью

Программы для конфигурации и управления операционной системой
Правила форума
Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Версия ОС вместе с разрядностью. Пример: LM 18.1 x64, LM Sarah x32 2. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 3. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 4. Суть. Желательно с выводом консоли, логами. 5. Скрин. Просьба указывать 1, 2 и 3 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
Аватара пользователя

Автор темы
cat2cat
Сообщения: 242
Зарегистрирован: 15 ноя 2017, 17:22
Благодарил (а): 9 раз

Закрытие программы вслед за консолью

Сообщение cat2cat » 14 дек 2017, 15:11

почему если я открываю программу через терминал, после закрытия терминала (или ctrl+c) программа тоже закрывается
Последний раз редактировалось пользователем 1 Dja; всего редактировалось раз: 14

Аватара пользователя

Dja
Сообщения: 6156
Зарегистрирован: 27 авг 2016, 17:03
Решено: 27
Откуда: Voskresensk
Благодарил (а): 900 раз
Поблагодарили: 654 раза

закрытие программы вслед за консолью

Сообщение Dja » 14 дек 2017, 15:13

потому что команда запущена в терминале. Закрыли терминал - прервали команду - завершили выполнение команды - завершили программу. Всё логично.
Хотите чтоб оставалось надо в конце ставить &
Т.е.

В сети
Аватара пользователя

slant
Сообщения: 1860
Зарегистрирован: 21 июн 2017, 15:09
Решено: 30
Благодарил (а): 15 раз
Поблагодарили: 809 раз

закрытие программы вслед за консолью

Сообщение slant » 14 дек 2017, 16:04

Dja писал(а):
14 дек 2017, 15:13
потому что команда запущена в терминале.
Это частный случай.

Тут работает общее правило в unix - ВСЕ запущенные процессы в системе являют собой иерархию "дерево", у каждого процесса есть свой родитель. Кроме процесса с PID 0, который запускает непосредственно ядро. Если родитель прекращает свою работу, автоматически прекращают работу все его потомки. Запуск с "&" - не исключение. Просто такая команда требует у терминала не самому запускать новый процесс, а передать "просьбу" об этом своему родителю. Потому запущенная через & задача и не закроется при закрытии процесса терминала - это уже не его родитель получается.

А прекращение работы процесса с PID 0 - приведет к закрытию всех процессов в системе, и завершению работы ядра (т.к. оно ждет, когда закончит выполнятся процесс с PID 0).

Аватара пользователя

colonel
Сообщения: 1452
Зарегистрирован: 18 дек 2016, 09:08
Решено: 18
Благодарил (а): 37 раз
Поблагодарили: 401 раз

закрытие программы вслед за консолью

Сообщение colonel » 14 дек 2017, 16:11

Не по теме
а на кой хрен открывать графические программы из терминала?
понимаю ....это круто! .. на люниксе .... открываю кАнсоль ввоДЮ кАманду и вуаля ....
меню, ярлычки на столе , на панели, в разных докбарах и тп, да хоть хоткеи эт конечно ...но терминал...консоль...
и плевать на диалоговое окно панели "Выполнить программу" (по Alt+F2) , на окошечко gksu
"Не ты выбираешь Linux, а Linux выбирает тебя"
(с)Себастьян Перейра, торговец чёрным деревом

Аватара пользователя

Dja
Сообщения: 6156
Зарегистрирован: 27 авг 2016, 17:03
Решено: 27
Откуда: Voskresensk
Благодарил (а): 900 раз
Поблагодарили: 654 раза

закрытие программы вслед за консолью

Сообщение Dja » 14 дек 2017, 18:07

colonel, 1 - где ТС-ом сказано, что программа графическая? 2 - уже в который раз: кому как удобно запускать программы, тот так и запускает. Не стоит считать Ваш вариант запуска приложений единственно верным. 3 - давайте обойдемся без йАзЫга пАдОнКаФф олбанского. 4 - поменьше сарказма. 5 - глядишь в итоге и не так грубо получится.

Аватара пользователя

colonel
Сообщения: 1452
Зарегистрирован: 18 дек 2016, 09:08
Решено: 18
Благодарил (а): 37 раз
Поблагодарили: 401 раз

закрытие программы вслед за консолью

Сообщение colonel » 14 дек 2017, 18:39

Dja писал(а):
14 дек 2017, 18:07
1 - где ТС-ом сказано, что программа графическая?

джа , не смешите мои тапочки , и если юзверь задаёт не очень то вопрос - почему если я открываю программу через терминал, после закрытия терминала (или ctrl+c) программа тоже закрывается, , предполагает что открыто открывается окно программы помимо терминального окна, а не выполняется в нём, или вы считаете юзера полным идиотом спрашивающем - почему закрывается программа выполняемая в терминале в окне терминала когда я закрываю окно терминала
(ну а про закрытие окна программы при ctrl+c в терминале подумайте сами) и вот только не надо глупых виляний кормой про то что ТС не говорил об отдельном окне программы. а то вы меня "убъёте" ... :-D
Dja писал(а):
14 дек 2017, 18:07
2 - уже в который раз: кому как удобно запускать программы, тот так и запускает.
конечно конечно...
можно и гланды через .... вырезать дело сугубо личное
Dja писал(а):
14 дек 2017, 18:07
Не стоит считать Ваш вариант запуска приложений единственно верным
и да ... может пальчиком покажете где мной сказано что мой вариант запуска приложений единственно верный ... ничего не путаете?
Dja писал(а):
14 дек 2017, 18:07
поменьше сарказма.
эт почему ... неужели так цепляет
и кстати олбанского там не было ...
"Не ты выбираешь Linux, а Linux выбирает тебя"
(с)Себастьян Перейра, торговец чёрным деревом

Вернуться в «Системные утилиты»