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

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

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

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

#1

14 дек 2017, 18:11

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

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

Dja
Сообщения: 6875
Зарегистрирован: 27 авг 2016, 20:03
Решено: 30
Откуда: Voskresensk
Благодарил (а): 1312 раз
Поблагодарили: 724 раза
Контактная информация:

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

#2

14 дек 2017, 18:13

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

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

slant
Сообщения: 4506
Зарегистрирован: 21 июн 2017, 18:09
Решено: 99
Благодарил (а): 51 раз
Поблагодарили: 1993 раза
Контактная информация:

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

#3

14 дек 2017, 19:04

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

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

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

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

colonel
Сообщения: 1851
Зарегистрирован: 18 дек 2016, 12:08
Решено: 21
Откуда: Хартленд, N
Благодарил (а): 43 раза
Поблагодарили: 498 раз
Контактная информация:

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

#4

14 дек 2017, 19:11

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

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

Dja
Сообщения: 6875
Зарегистрирован: 27 авг 2016, 20:03
Решено: 30
Откуда: Voskresensk
Благодарил (а): 1312 раз
Поблагодарили: 724 раза
Контактная информация:

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

#5

14 дек 2017, 21:07

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

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

colonel
Сообщения: 1851
Зарегистрирован: 18 дек 2016, 12:08
Решено: 21
Откуда: Хартленд, N
Благодарил (а): 43 раза
Поблагодарили: 498 раз
Контактная информация:

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

#6

14 дек 2017, 21:39

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

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

Закрыто

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость