Linux 文件存在程序找不到文件

1. 编码格式

  程序运行时的编码格式和传输到程序中参数的编码格式是否一致,可以在程序中打印日志进行验证;

2. 转义符

  文件路径中存在转义符

3. 运行程序的用户身份

  不同用户运行程序也可能导致编码格式不一致的问题;

  运行程序的用户是否有该文件的权限;可以用如下命令测试

  sudo  -u  user(用户名)  ll   /home/root/a.txt(访问文件的路径)

4. 父目录

  该文件的父目录(泛指该文件的上层目录)所在用户及用户组、权限是否有问题,

  比如(和程序的运行用户)是否属于同一个用户,是否属于同一个用户组

5. 信息同步

  程序修改了文件(文件名、文件所在用户组,文件权限等),但是操作系统还未处理完成,此时再通过操作系统操作文件,发现找不到文件。

6. 文件句柄数

  极端情况下,操作系统打开的文件句柄数达到上限,没有可用的文件句柄用于打开文件。

猜你喜欢

转载自www.cnblogs.com/virgosnail/p/11828455.html
今日推荐