Страница 1 из 1

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

Добавлено: 14 дек 2017, 18:11
cat2cat
почему если я открываю программу через терминал, после закрытия терминала (или ctrl+c) программа тоже закрывается

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

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

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

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

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

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

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

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

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

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

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

Добавлено: 14 дек 2017, 21:39
colonel
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
поменьше сарказма.
эт почему ... неужели так цепляет
и кстати олбанского там не было ...