LINUX.ORG.RU
ФорумTalks

^C в консоли — это баг или фича?

 ,


0

1

Раньше, в старых дистрибутивах GNU/Linux при нажатии ctrl-C, просто процесс останавливался, теперь ещё и появляются символы ^C.

Это баг или фича? Интересно было бы посмотреть на коммит, который это ввёл.

★★★★★

Может это все таки «фича» используемого шелла?

ooobooontooo
()
Ответ на: комментарий от VictimOfLoveToLinux

Раньше было без этого, теперь оно появилось.

Мне интересно, это было сделано специально или таки баг.

Xenius ★★★★★
() автор топика

А меня например бесит, что по Ctrl-c ping в этом вашем линаксе не помирает сразу, как в FreeBSD, а пытается получить понги на отправленные пакеты, как в винде.

Ygor ★★★★★
()
Ответ на: комментарий от CYB3R

А ты точно раньше bash использовал?

Да, точно. Но это разве баш, а не эмулятор терминала виноват?

Xenius ★★★★★
() автор топика
Ответ на: комментарий от VictimOfLoveToLinux

Also вообще если мне память не изменяет у меня эта фича уже 3 год.

Ну да, довольно давно изменилось, вот решил спросить — вдруг кто знает

Специально конечно.
И для логов ок.

А пруф будет? Почему ^D следов не оставляет?

Xenius ★★★★★
() автор топика
Ответ на: комментарий от Ygor

Ctrl-c ping в этом вашем линаксе не помирает сразу, как в FreeBSD, а пытается получить понги на отправленные пакеты, как в винде

Ты что-то забористое куришь, видать.

Kroz ★★★★★
()
Ответ на: комментарий от Xenius

неа вылазит это:

48716/42629 packets, 12% loss, min/avg/ewma/max = 68.421/285.978/171.273/7725.380 ms

И на том спасибо, скучал без этой фичи, во FreeBSD работает как ctrl-пробел.

Ygor ★★★★★
()
Ответ на: комментарий от Kroz

64 bytes from http://www.ru (194.87.0.50): icmp_req=16 ttl=52 time=186 ms ^C64 bytes from http://www.ru (194.87.0.50): icmp_req=17 ttl=52 time=745 ms

А на фиговом канале ping померает в линуксе бывает секунд через десять.

Ygor ★★★★★
()
Ответ на: комментарий от Ygor

А меня например бесит, что по Ctrl-c ping в этом вашем линаксе не помирает сразу

4.2
у тебя какой-то перацкий линукс

megabaks ★★★★
()
Ответ на: комментарий от Ygor

А меня например бесит, что по Ctrl-c ping в этом вашем линаксе не помирает сразу, как в FreeBSD, а пытается получить понги на отправленные пакеты, как в винде.

Он не понги пытается получить, а просто напечатать ответ - а для этого надо подождать пока хост отрезолвится по айпи.

Adjkru ★★★★★
()
Ответ на: комментарий от Ygor

Собственно, решением является использование флага -n

Adjkru ★★★★★
()

По POSIX такое поведение программ естественно, т.к. согласно этому документу приложение может не сразу выполнять код по сигналу, т.е. дожидаться окончания текущего блока кода, а в ряде случаев может даже не выполнять и игнорировать. Если надо что-то немедленно прибить лучше использовать SIGKILL.

Поведение же программ и в частности шелла изменилось после того, как функции начали соответствовать POSIX.1-2004/2008, в которых было изменен список safe functions и их поведения.

$ man 7 signal
+
http://www.linuxjournal.com/article/6483
+
http://www.cs.utah.edu/dept/old/texinfo/glibc-manual-0.02/library_21.html

gh0stwizard ★★★★★
()
Ответ на: комментарий от VictimOfLoveToLinux

У меня сразу убивает

Не сразу, не сразу. Когда интернет глючит — далеко не сразу...

Bad_ptr ★★★★★
()
Ответ на: комментарий от Adjkru

Посмотрел исходники пинга - оно при sigint просто ставит exiting = 1 и продолжает ждать ДНС, а во фре первый ^C ставит флаг, а после второго пинг выходит.

Adjkru ★★★★★
()
Ответ на: комментарий от Ygor

УМВР

[shuck@Brutus-F3Sg ~]$ ping google.com PING google.com (173.194.32.37) 56(84) bytes of data. 64 bytes from arn06s02-in-f5.1e100.net (173.194.32.37): icmp_req=1 ttl=56 time=21.8 ms ^C --- google.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 21.833/21.833/21.833/0.000 ms [shuck@Brutus-F3Sg ~]$

a931bw
()
Ответ на: комментарий от Ygor

ping

меня тоже. самое печальное раньше такого не было. Только он не понгами в этот момент занимается, а резолвингом.

true_admin ★★★★★
()
Ответ на: комментарий от Ygor

Попробуй Ctrl + Z - у меня убивает всё что угодно мгновенно вне зависимости от того делало ли это что-то что-то важное или нет.

KivApple ★★★★★
()
Ответ на: комментарий от KivApple

Ты дурак? Оно тупо суспендит процесс на консоли же.

Ygor ★★★★★
()
Ответ на: комментарий от true_admin

Только он не понгами в этот момент занимается, а резолвингом.

Оно что резолвит хост на каждый пинг?

Ygor ★★★★★
()
Ответ на: комментарий от Adjkru

это уже часть багрепорта? Или багрепорт надо ещё написать?

true_admin ★★★★★
()
Ответ на: комментарий от Ygor

а на фейхоа?

Недоработка. На самом деле таких мелких проблем в линуксе вагон и маленькая тележка. Только менять не будут из-за боязни поломать совместимость.

true_admin ★★★★★
()
Ответ на: комментарий от Ygor

А меня например бесит, что по Ctrl-c ping в этом вашем линаксе не помирает сразу, как в FreeBSD, а пытается получить понги на отправленные пакеты, как в винде.

В винде пинг по ^C сразу помирает.

TGZ ★★★★
()
Ответ на: комментарий от true_admin

это уже часть багрепорта? Или багрепорт надо ещё написать?

Да вот хз, что с этим делать :)

У них вообще есть глобальный мейнтейнер?

Вроде только мейллист netdev@vger.kernel.org, слать туда неподписанные патчи как-то не ок, мне кажется, не?

Adjkru ★★★★★
()
Ответ на: комментарий от Adjkru

мда, писец.. Хотел убунтоидам отправить, а у них там этих багрепортов незакрытых по пингу... c 2007 года...

В общем, я так понял, каждый дистр сам (не)поддерживает этот пакет.

В шапку может завтра тогда закину... Я её не использую, но не пропадать же патчу...

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Отправлю в рассылку, пускай что хотят, то и делают :)

Adjkru ★★★★★
()

Так всё-таки почему так? Стали какой-то ping обсуждать, когда вопрос был не совсем про это.

Xenius ★★★★★
() автор топика

омг, но причему тут linux? неужели фанатики вроде тебя настолько необразованы?

xtraeft ★★☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.