Вот только он разруливает http(s) запросы
Но я видимо слишком тупой и не понимаю как называется так штука, которая должна делать то что мне нужно.
Вот например хостинги же делают как-то много сайтов на одном IP.
J.5 Common extensions
The following extensions are widely used in many systems, but are not portable to all implementations. The inclusion of any extension that may cause a strictly conforming program to become invalid renders an implementation nonconforming. Examples of such extensions are new keywords, extra library functions declared in standard headers, or predefined macros with names that do not begin with an underscore.
J.5.11 Multiple external definitions
There may be more than one external definition for the identifier of an object, with or without the explicit use of the keyword extern; if the definitions disagree, or more than one is initialized, the behavior is undefined (6.9.2).
If there are no definitions in the same translation unit, then the tentative definition acts as an actual definition with the initializer = 0 (or, for array, structure, and union types, = {0}).
A declaration of an identifier for an object that has file scope without an initializer, and without a storage-class specifier or with the storage-class specifier static, constitutes a tentative definition. If a translation unit contains one or more tentative definitions for an identifier, and the translation unit contains no external definition for that identifier, then the behavior is exactly as if the translation unit contains a file scope declaration of that identifier, with the composite type as of the end of the translation unit, with an initializer equal to 0.
extern int val; - то переменная станет с внешней линковкой (т.е. предыдущее объявление int val; так и останется объявлением).extern int val; не встретится, то объявление будет рассматриваться и как определение. Т.е. в этом случае поведение такое как я описал в ответе. Этот вариант является вариантом по умолчанию.command not found
apt-cache policy openvpnwhereis openvpn/usr/bin:/usr/sbin:usr/local/bin:/usr/local/sbin. Просто ищите в этих каталогах файл openvpn. На крайняк можно воспользоваться: find / -name openvpnecho $PATHпросто местами нормально переставлено
echo test >tmp.txt1>tmp.txt echo testНе покупать же для каждого рабочего места флешки от опсосов.
если понимать как она работает
Чем линукс поможет при подобных ошибках программистов?
Не надо только говорить, что под линукс пишут крутые спецы и они не делают таких ошибок.
Кстати, довольно обычная практика, когда результат выделения памяти не проверяют принципиально. Логика простая - когда не хватает памяти, то в наличии проблема в недостатке ресурсов, или возможно в аппаратном сбое. В любом случае дальнейшее корректное выполнение программы в большинстве случаев не возможно. Эти проблемы из программы никак не решить, наиболее адекватный вариант поведения программы при этом - вывести сообщение и завершиться, корректно закрыв все открытые ресурсы. Но примерно то же самое происходит если проигнорировать ошибку, только сообщение будет менее адекватное и открытые ресурсы будут закрыты не программой, а ОС.
Чтоб не быть голословным - в MongoDB (в ядре, в ее клиентской библиотеке и т.п.) используется похожий подход. Там они при ошибке выделения генерируется assert, что приводит к немедленному завершению программы.
PS: Я не агитирую за этот подход.