

使用しているシステムは、tmpfsが/dev/shmにマウントされています。  
tarファイルを/dev/shmにコピーし、展開しました。

[code]

    root@xxx:~# ls -al /dev/shm/update
    drwxrwxrwx    2 xuser    xuser          100 Oct 21 18:03 .
    drwxrwxrwt    3 root     root           100 Oct 21 18:03 ..
    -rwxr-xr-x    1 xuser    xuser         1717 May 13 02:35 bootmisc.sh
    -rw-r--r--    1 xuser    xuser           89 Jul 23 06:14 mount.blacklist
    
[/code]

の様にファイルが見えています。  
C言語でソフトを開発しており、ファイルの存在チェックをstat()で行なっています。  
USBメモリや/home/rootなどでは、正常に結果が返ります。

[code]

    if (stat("/dev/shm/update/bootmisc.sh",&st) != 0){
       printf("file nothing\n");
    }
    
[/code]

とチェックすると、=0 が返りません。  
tmpfs上のファイルをstat()ではチェック出来ないのでしょうか？  
その場合、代替え手段は無いでしょうか？

よろしくお願いします。


CC BY-SA 3.0
2016-10-21T09:19:46.283
29771
2016-10-22T02:36:09.887
2016-10-21T10:27:21.390
49
19169
question
c
/dev/shm上のファイルの存在確認


自己解決出来ました。

if (stat(" /dev/shm/update/bootmisc.sh",&st) != 0){  
printf("file nothing\n");  
}

ファイル名指定の”....”の先頭に空白があったのが原因でした。  
空白があった場合、スキップしてくれると思い、なかなか原因にたどり着けませんでした。

お騒がせしました。


CC BY-SA 3.0
2016-10-22T02:36:09.887
29789
2016-10-22T02:36:09.887
19169
29771
answer