Как проверить, установлен ли / proc /

Как проверить, монтируется ли / proc /?

Каков наилучший способ сделать эту проверку?

4 Solutions collect form web for “Как проверить, установлен ли / proc /”

Вы можете запустить mount без каких-либо аргументов, чтобы получить список текущих монтировок. Файл /etc/mtab должен иметь схожие данные, но, как вы сказали, это может быть несовместимо с тем, что на самом деле установлено в случае перепутания файловой системы /etc , а не с возможностью записи, или с другой программой Это. Вы можете получить конкретную информацию о монтах proc, попросив mount указать все монтирования типа proc следующим образом:

 mount -l -t proc 

Изменить: похоже, вы можете использовать stat чтобы сравнить устройство папки /proc с устройством / чтобы сообщить хотя бы, если SOMETHING установлен там, кроме корневой файловой системы:

 [[ $(stat -c %d%D /proc) != $(stat -c %d%D /) ]] && echo "Something is mounted at /proc" 

Проверьте наличие /proc/mounts . Запуск mount не подходит, потому что если /proc не монтируется, он вернет потенциально устаревшие данные из /etc

Теоретически в /proc может быть что-то еще. Но на практике это крайне маловероятно: если /proc/mounts существует и /proc не является файловой системой proc , вы все равно не можете доверять чему-либо в своей среде. Если вы действительно обеспокоены, вы можете проверить, что тип файловой системы – proc : df -PT /proc | awk 'NR==2 && $2=="proc" {print 1}' df -PT /proc | awk 'NR==2 && $2=="proc" {print 1}' (требуется утилиты Linux df , в Busybox нет соответствующей опции). И наоборот, теоретически может существовать файловая система proc, установленная в другом месте; нет простого способа найти это с помощью команд оболочки ( df reads /proc/mounts для перечисления файловых систем). На практике просто проверьте /proc/mounts .

Если вы хотите (более или менее) гарантировать, что файловая система в / proc фактически является proc, а не какой-либо другой файловой системой или структурой каталога, сделанной так, чтобы она выглядела, вы можете вызвать statfs() и проверить тип, 0x9fa0 – это значение для proc.

На многих установках Linux есть инструмент под названием mountpoint . Код exit равен 0, если первым аргументом является точка монтирования.

  • Кодирование файлов / proc / <pid> / cmdline
  • Содержимое Is / sys устарело в Linux?
  • Насколько быстро / часто происходят измерения памяти процесса в ядре?
  • Как получить переменные окружения очень короткого процесса?
  • Файлы больше max (off64_t) в Solaris, например «/proc/../as»,
  • Временная метка сокета в / proc / <pid> / fd
  • Существует ли ссылка на канал в какой-либо части файловой системы?
  • Просмотр истории bash отдельного активного TTY
  • Счетчик прерываний таймера в `/ proc / interrupts` обновляется очень медленно и очень мал
  • Как собираются данные в / proc / * и насколько они надежны?
  • Какой файл в / proc считывается ядром во время процесса загрузки?
  • Linux и Unix - лучшая ОС в мире.