Для программы возможно, и это довольно тривиально, определить, ссылается ли какой-либо заданный дескриптор открытого файла в своем процессе на канал или FIFO. Это простое упражнение по использованию библиотечной функции fstat()
.
Вам придется решить, как вызывать fstat()
на выбранном вами языке программирования.В языках C или C++ функция для этого довольно проста :
#include <sys/types.h> // no longer required by IEEE 1003.1:2008 #include <sys/stat.h> #include <unistd.h> /// \brief Check a file descriptor for being open and denoting a pipe/FIFO extern inline bool /// \returns true if and only if the descriptor is open to a pipe/FIFO is_fifo ( int fd ///< the file descriptor to test ) { struct stat s; return 0 <= fstat(fd, &s) && S_ISFIFO(s.st_mode); }
Библиотека libsystemd в systemd имеет несколько более сложную sd_is_fifo()
библиотечную функцию.
Не уверен, что понял ваш вопрос, но вы можете отредактировать /etc/ntp.conf
, чтобы получить следующий server *.pool.ntp.org prefer
. Ключевое слово prefer
должно отдавать предпочтение указанному серверу по сравнению с другими в списке.
Пожалуйста, обратитесь к документации на freedesktop.org
Вы можете отключить поведение по умолчанию, используя UseNTP=no
в разделах [DHCPv4]
и [DHCPv6]
файла в стиле.network ini -, который необходимо поместить в папку /etc/systemd/network.
Вы также должны активировать DHCP=yes
в секции [Network]
, чтобы это имело эффект.