linux - 当挂载的 ftp 文件夹变得无法访问时,文件系统挂起
问题描述
我使用 curlftpfs 从本地网络安装了一个 ftp 文件夹。
curlftpfs ftp://192.168.100.214/ ftp_mount/
然后我试图folder_name_
在 qt 程序中迭代该文件夹并在 QTableWidgettable_
中以这样的代码每秒打印一次它的内容
void Class::PrintContains(QString &directory_name) {
QString absolute_path;
auto directory = QDir(directory_name);
if (directory.entryList(QDir::AllEntries | QDir::NoDotAndDotDot).empty()) {
table_->setCellWidget(0, 0, new QLineEdit("Folder is empty!"));
return;
}
QDirIterator it(directory_name, QDir::AllEntries | QDir::NoDotAndDotDot,
QDirIterator::Subdirectories);
absolute_path = it.path();
int i = 0;
while (it.hasNext()) {
absolute_path = it.next(); // skip directory_name in output
table_->setCellWidget(i++, 0, new QLineEdit(absolute_path));
}
}
void Class::TimerUpdate() {
table_->clearContents();
PrintContains(folder_name_);
}
当与 ftp 的连接消失时,就会出现此问题。如果网络电缆被拔出,程序就会挂起。更重要的是,据我了解,整个文件系统挂起,直到连接恢复。如何在我的系统中处理此类行为?如果这很重要,我正在使用 20.04.1-Ubuntu,c++11
解决方案
推荐阅读
- python - 如何防止matplotlib中轴偏移的科学记数法?
- c++ - 基于循环的多成员 constexpr struct 初始化
- javascript - atom.io:通过 Javascript 注释中的可点击链接打开文件
- python - 使用 unstack() 进行 Pandas Groubpy 绘图
- swift - 如何将 UIColor 转换为黑白 UIColor
- python - 对于未运行 PSET6 DNA CS50x 的循环
- ruby-on-rails - 无法使用 Rails Active Storage 从 S3 检索用户上传的音频文件
- ti-basic - 从字符串执行 TI BASIC
- angular - 当以编程方式选择选项并且未触及任何内容时,mat-selection-list 返回空列表
- mqtt - MQTT 如何处理发布者同时发布到同一个主题?