首页 > 代码库 > executing in nfs will not generate core dump file

executing in nfs will not generate core dump file

最近遇到了一个奇怪的问题。

linux系统的pc搭建nfs server,开发板作为nfs client,开发板中全程root权限操作,执行的程序放到 nfs server 中 exports 出的目录中。

 

1. 开发板中已经设置了 ulimit -c unlimited

2. 将程序copy到 开发板的 /tmp 目录下执行,可以正常生成 core 文件,提示 core dumped。

3. 程序放到 nfs 上执行,生成空的 core 文件,不提示 core dumped。

4. 因为在nfs server中设置了 root_squash,anonuid=1001,anongid=1001 ,所以开发板操作nfs是以uid 为1001 的用户操作的。尝试设置成 no_root_squash,发现第3步的执行可以生成core文件,提示 core dumped。

 

这个网址提到了几种可能不会生成 core 文件的原因,网址:https://linux.die.net/man/5/core

对照了一下,没有发现与我遇到的这种问题相对应的。

 

上述网址中提到了一种情况,

The process is executing a set-user-ID (set-group-ID) program that is owned by a user (group) other than the real user (group) ID of the process. (However, see the description of the prctl(2) PR_SET_DUMPABLE operation, and the description of the /proc/sys/fs/suid_dumpable file in proc(5).)

 

我尝试 执行 echo 1 > /proc/sys/fs/suid_dumpable,发现无效。

 

问题未找到根本原因。

 

executing in nfs will not generate core dump file