在下一次调查中需要帮助:
在一台糟糕的Linux机器有时我的一个模块没有启动。在其他ok-Linux-machine(相同的操作系统,相同的模块)中 - 我的模块始终启动。接下来是架构:一个模块(mymain)加载另一个模块的补丁,并使用call system()函数启动它。
代码:
int ret = system(mypatch);
其中mypatch - 我的模块的名称,例如" usr / local / test / module1"。 值ret总是= 0;
使用 strace 是非常罕见的:在糟糕的Linux机器操作不能正常工作 - 调用我的模块不存在于跟踪文件中,另一方面 - 在ok-Linux-machine中 - 我查看所有信息:
execve("/bin/sh", ["sh", "-c", "/usr/local/test/module1 &"],....)
操作系统:Red Hat Entterprise Linux Server版本5.3(Tikanga)
strace使用: strace -s 512 -o fail -f -v -ff ./mymain
问题:有什么想法吗?