Как я могу измерить размер диска с помощью elixir?

#elixir #erlang-otp

#elixir #erlang-otp

Вопрос:

я новичок в elixir и phoenix . Я нашел в erlang , чтобы проверить пространство на диске с помощью —diskup. И я нашел другую функцию / оператор внутри elixir для проверки общего использования памяти:

 > :erlang.memory(:total)
  

Мой вопрос в том, как можно проверить размер диска / пространство в моей текущей системе?

Ответ №1:

Модуль disksup принадлежит приложению os_mon, которое, в свою очередь, зависит от приложения sasl. Поэтому вам необходимо запустить эти приложения перед вызовом.

 > :application.start(:sasl)
> :application.start(:os_mon)
> :disksup.get_disk_data()
  

Теперь вы можете использовать все функции, аналогичные Erlang.

Комментарии:

1. Это отмечено в документе, на который дана ссылка в исходном вопросе, но для всех (например, для меня), кто не читал документы первым: get_disk_data не обновляет свое значение при каждом вызове, а скорее получает самое последнее значение из запланированной проверки, которая по умолчанию выполняется раз в 30 минут

Ответ №2:

Или вы могли бы просто выполнить os: cmd («df») в erlang.