相关疑难解决方法(0)

如果指向的文件被移动,那么Linux上的打开文件句柄会发生什么

如果指向文件同时获得Linux上的打开文件句柄会发生什么:

  • 搬走了 - >文件句柄是否保持有效?
  • 已删除 - >这是否会导致EBADF,表明文件句柄无效?
  • 替换为新文件 - >文件句柄是否指向此新文件?
  • 替换为新文件的硬链接 - >我的文件是否处理"关注"此链接?
  • 替换为新文件的软链接 - >我的文件句柄现在是否触及此软链接文件?

为什么我问这样的问题:我使用的是热插拔硬件(如USB设备等).可能发生的是,设备(及其/ dev /文件)被用户或另一个Gremlin重新附加.

处理这个问题的最佳做法是什么?

linux file-io file linux-kernel systems-programming

96
推荐指数
3
解决办法
4万
查看次数

可执行文件在linux上删除自己

作为超级用户,我在linux上执行了以下命令

rm rm
Run Code Online (Sandbox Code Playgroud)

会自行消除.因为当进程正在执行时,它的引用计数不为零.因此无法删除它.所以我很困惑,它是如何以及为什么会发生的?

我也尝试了同样的chown 0000 chown方法.

cp -r Dir1/ Dir2/
Run Code Online (Sandbox Code Playgroud)

在上面的命令中,当我只在复制过程中删除源目录时会发生什么?

linux command

5
推荐指数
1
解决办法
795
查看次数

C程序,打印其可执行文件名

假设源代码文件名是test.cpp.编译时,它会生成test.exe文件.当我执行它时,它应该识别它的文件名test.exe并打印它.

我可以使用以下代码获取当前目录中存在的所有文件和目录的列表:

DIR * directory;
struct dirent * direct;
direct = readdir(directory);
Run Code Online (Sandbox Code Playgroud)

但是,如何识别相关的文件名,在这种情况下是哪个"test.exe"

c c++

5
推荐指数
3
解决办法
6731
查看次数

标签 统计

linux ×2

c ×1

c++ ×1

command ×1

file ×1

file-io ×1

linux-kernel ×1

systems-programming ×1