я использовал пинг в гном-терминал окно, и я могу подтвердить ваши наблюдения. Я думаю, что это проблематично, что процесс может оставаться запущенным без какой-либо связи. Я попытаюсь интерпретировать то, что я заметил (но я не утверждаю, что понимаю, почему, возможно, для того, чтобы программы с собственным графическим интерфейсом могли работать без нет после выхода из бить, при запуске в окне терминала).
Когда я выход я выхожу из бить работает в окне терминала и пинг продолжает работать, но некуда писать.
Когда я убийство процесс, я убиваю бить процесс в окне терминала. Я не нашел явного гном-терминал процесс убить, потому что процесс /usr/lib/гном-терминал/гном-терминал-сервер управляет ими всеми. Я не уверен, что это то, что вы делали, но это то, что я предполагаю.
Когда я закрываю окно (кнопкой x), я выхожу из оконного процесса (что, в свою очередь, заставляет его дочерние процессы останавливаться, включая бить и пинг). Это очевидное отличие от двух предыдущих случаев.
Когда я делаю соответствующее упражнение с xterm, будет отдельный процесс с именем xterm.
Когда я выход я выхожу из бить работает в окне терминала и пинг продолжает работать, но некуда писать.
Когда я убийство процесс, я убиваю xterm процесс окна терминала (что, в свою очередь, заставляет его дочерние процессы останавливаться, включая бить и пинг).
Когда я закрываю окно (кнопкой x), я выхожу из оконного процесса (что, в свою очередь, заставляет его дочерние процессы останавливаться, включая бить и пинг).
Вы уже знаете, что можете использовать нет (вместе с &), если вы хотите, чтобы дочерний процесс продолжался после закрытия окна терминала, в котором был запущен дочерний процесс.
Редактировать 1: Заключительный комментарий:
От человек
Если команда завершается управляющим оператором &, оболочка
выполняет команду в фоновом режиме в подоболочке. Оболочка делает
не ждать завершения команды, а статус возврата равен 0.
Мы заметили, что нет сигнала для остановки подоболочки, и процесс запускается в/из этой подоболочки, когда бить завершается, по крайней мере, не при запуске в окне терминала. Но окно вызывающего терминала закрыто. Я думаю, что после выхода из bash окно терминала больше не знает о подоболочке и процессе, запущенном в/из этой подоболочки, и поэтому не может их остановить.
Редактировать 2: я попросил помощи в Unix и Linux - Пожалуйста, прочитайте ответы.