abc-log
будет содержать поступающие в данный момент данные журнала; abc-log.1
будет самым новым файлом, который безопасно удалить или сжать. (Вы также можете посмотреть на метку времени файлов, чтобы перепроверить.)
Это, конечно, предположение, что вы не используете программное обеспечение, которое ведет журнал abc-log.1 напрямую, но это было бы почти злонамеренным нарушением соглашения, я думаю.
Я должен отметить, что ротация журналов требует, чтобы программа могла повторно открыть свои файлы журналов (так что logrotate
может переименовать старый и программа войдет в новый), документы на copytruncate
опции конфигурации могут быть полезны здесь:
copytruncate
Обрезать исходный файл журнала после создания копии вместо перемещения старого файла журнала и необязательно создание нового. Он может быть использован, когда какой-либо программе нельзя сказать, чтобы закрыть его файл журнала и таким образом, запись (добавление) в предыдущий файл журнала может продолжаться вечно. Отметим, что есть очень небольшой временной интервал между копированием файла и его усечением, поэтому некоторые данные регистрации могут быть потеряны. Когда этот параметр используется, параметр создания не будет иметь эффекта, так как старый файл журнала остается на месте.
-121--289138-
вилка ()
и вилка ()
являются различными.
Файл vork ()
syscall генерирует два идентичных процесса с отдельной памятью.
Syscall vfork ()
генерирует два процесса, совместно использующих одну и ту же память.
С помощью vfork ()
родительский элемент ожидает завершения дочернего элемента.
Родительский элемент наследует переменные, совместно используемые программой.
Таким образом, после вызова нижестоящего элемента все переменные, измененные внутри нижестоящего элемента, будут по-прежнему изменяться внутри родительского элемента.
Для получения дополнительной информации нажмите здесь
-121--32079-
Существует разница между /opt
и /usr/local/bin
. Так что просто соединение двоичных файлов между собой было бы запутанным. Я бы не стал их смешивать.
/opt
предназначен для установки пакетов приложений надстройки , тогда как каталог /usr/local
предназначен для системного администратора при локальной установке программного обеспечения (с помощью make
и make install
). /usr/local/bin
предназначен для двоичных файлов программного обеспечения, установленного в /usr/local
.
Согласно стандарту иерархии файлов , правильным способом будет добавление /opt//bin
в $ PATH
для каждого отдельного пакета. Если это слишком болезненно (например, если имеется несчетное число каталогов /opt//bin
), можно (локальный администратор) создать symlinks из каталога /opt//bin
в каталог /opt/bin
. Затем его можно добавить к пользователям $ PATH
один раз.
Возможно, следует рассмотреть возможность использования systemd automount ?
Я использую его и доволен тем, как он работает:
<ip-address>:/home/export/nfs /home/share/nfs nfs x-systemd.automount,noauto,_netdev 0 0
При такой настройке общий ресурс NFS не монтируется во время загрузки, но автоматически монтируется при попытке доступа к общему ресурсу(/home/share/nfs
)в этом тривиальном примере.
Если автомонтирование не подходит, вы можете использовать x-systemd.mount-timeout=
, чтобы указать более короткое время ожидания:
machine.2.ip:/path/on/machine2/share /path/on/machine1/machine2-share nfs x-systemd.mount-timeout=5
Параметрbg
монтирования NFS может быть полезен, :он разветвляет mount
, который повторяет попытку в фоновом режиме. systemd понимает эту опцию и соответствующим образом настраивает монтирование.