Обычно в C++ используется C API.
Вы можете попробовать посмотреть, не создал ли кто-нибудь еще интерфейс C++, более -ориентированный на объекты. Например, первым результатом поиска в Google «udev C++» является репозиторий GitHub dimitry -ishenko/udev , который может быть полезен (не ручаюсь ). Вы также можете взаимодействовать с udev, используя реализацию C++ D -Bus, например sdbus -c++ .
Boost является основным источником дополнительных «полустандартных» библиотек C++, которые могут закрывать некоторые пробелы в интерфейсах стиля C++ -по отношению к стандартным библиотекам POSIX. Например, библиотека файловой системы была в Boost до того, как она была принята в C++17. Boost.Interprocess имеет дело с общей памятью, mmap и т. д. Boost.Process , Boost.Program _options и Boost.Asio также охватывают некоторую территорию POSIX.
Если вы не являетесь пользователем root, вы не сможете ничего делать с чужими процессами, поэтому нет никакой опасности просто сигнализировать всем sshd
процессам:
pkill sshd
Если вы хотите явно ограничить это своими процессами:
pkill -U "$USER" sshd
или, если переменная USER
не используется в используемой оболочке, попробуйте "$LOGNAME"
вместо "$USER"
или
pkill -U "$(id -un)" sshd
См. также руководство по команде pkill
.
Используйте pgrep
вместо pkill
, если вы хотите получить список идентификаторов соответствующих процессов.Используйте pkill
или pgrep
с -o
, чтобы указать или перечислить только самый старый процесс .