A<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2Fsignal.h%2FSIGHUP</id>
		<title>C/signal.h/SIGHUP - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2Fsignal.h%2FSIGHUP"/>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C/signal.h/SIGHUP&amp;action=history"/>
		<updated>2026-04-17T18:05:04Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.cppe.ru/index.php?title=C/signal.h/SIGHUP&amp;diff=3980&amp;oldid=prev</id>
		<title>Admin: Новая страница: «В POSIX-системах, SIGHUP — сигнал, посылаемый процессу для уведомления о потере соединения с уп…»</title>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C/signal.h/SIGHUP&amp;diff=3980&amp;oldid=prev"/>
				<updated>2010-06-21T18:57:49Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: «В POSIX-системах, SIGHUP — сигнал, посылаемый процессу для уведомления о потере соединения с уп…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;В POSIX-системах, SIGHUP — сигнал, посылаемый процессу для уведомления о потере соединения с управляющим терминалом пользователя.&lt;br /&gt;
&lt;br /&gt;
SIGHUP — целочисленная константа, определённая в заголовочном файле signal.h. Символьные имена сигналов используются вместо номеров, так как в разных реализациях номера сигналов могут различаться.&lt;br /&gt;
&lt;br /&gt;
POSIX закрепляет за SIGHUP значение 1. Например, для активации новых терминалов после их добавления в файл /etc/ttys рекомендуется послать SIGHUP процессу init, командой «kill -1 1» (init имеет PID = 1).&lt;br /&gt;
&lt;br /&gt;
SIG — общий префикс, означающий «сигнал», HUP — сокращенное написание англ. hang up — отбой, прерывание линии.&lt;br /&gt;
&lt;br /&gt;
Много лет, доступ к компьютерам (мэйнфреймам) осуществлялся подсоединением к ним компьютерных терминалов через последовательные линии (например, линии стандарта RS-232). Поэтому при разработке системы сигналов был определен сигнал разрыва соединения, для завершения всех программ запущенных с потерянного терминала.&lt;br /&gt;
&lt;br /&gt;
== История ==&lt;br /&gt;
Сигналы всегда были удобным средством межпроцессного взаимодействия, но ранние разработки не включали в себя пользовательских сигналов (таких как появившиеся позднее SIGUSR1 и SIGUSR2), которые программа могла использовать для собственных нужд. По этой причине, в программах, не использующих при своей работе управляющих терминалов, например демонах, SIGHUP стали использовать для переинициализации (перечитывания файлов конфигурации). Такое использование SIGHUP сохранилось и по сей день, как в старых и стандартных программах (init, inetd, cron, Sendmail, Apache …), так и в большинстве новых, и считается стандартом де-факто.&lt;br /&gt;
&lt;br /&gt;
== Использование ==&lt;br /&gt;
Сигнал SIGHUP посылается:&lt;br /&gt;
&lt;br /&gt;
При прерывании соединения на последовательной линии, программам, запущенным с терминала подключенного к ней, часто из-за того, что пользователь отсоединяет свой модем от телефонной или выделенной линии. Операционная система определяет разрыв соединения по исчезновению сигнала «несущая» (англ.  carrier detect, DCD) последовательного порта.&lt;br /&gt;
При закрытии псевдо- или виртуальных терминалов, которые используются на современных системах вместо аппаратных терминалов.&lt;br /&gt;
Утилитой или функцией kill, с консоли или из скрипта/утилиты для управления демоном, для выполнения предусмотренного действия (обычно — перечитывания конфигурации и переинициализации).&lt;br /&gt;
Обычным действием по умолчанию для SIGHUP в POSIX-системах является завершение процесса.&lt;br /&gt;
&lt;br /&gt;
Unix-шелл, при получении SIGHUP, обычно запускает заново все остановленные задачи, перед посылкой им SIGHUP. В других реализациях (например, GNU bash), шелл «отрекается» от всех дочерних задач перед завершением (и они продолжают работать).&lt;br /&gt;
&lt;br /&gt;
SIGHUP может быть перехвачен или проигнорирован программой.&lt;br /&gt;
&lt;br /&gt;
Для предотвращения завершения SIGHUP стандартных программ и утилит, существует утилита nohup («префикс» для программы в командной строке). nohup настраивает игнорирование SIGHUP, после чего запускает программу с аргументами в фоновом режиме с перенаправлением вывода в файл nohup.out в текущем или домашнем каталоге пользователя.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>