可以在线程中使用fork()+ exec()进行内核操作吗?

时间:2019-02-18 02:56:58

标签: oop memory fork exec

我已经在嵌入式Linux环境中开发了一个应用程序。 内核糟糕,偶尔会发生。

我的应用程序包含两个部分:

  1. 主线程

    • 每秒执行ioctl()函数
    • ioctl()的工作是获取内核模块的数据
    • ioctl()使用全局整数数组
    • 的参数执行
    • 内核模块将其自身的值复制到参数
  2. 第二个线程

    • 每分钟执行一次fork()函数
    • 然后,执行exec()函数以查找某些文件

一开始,我的应用程序运行良好。 但是大约20分钟之后,内核就会发生变化。

我通过两个修改解决了这个问题。 1.将全局整数数组更改为局部整数数组作为ioctl()参数 2.删除fork()/ exec()并添加一个函数来查找一些文件

我一直试图找到发生内核Oops的原因,但我仍然没有找到答案。 我应该找什么? 有谁知道有用的参考资料吗?

感谢您的帮助。 谢谢。

0 个答案:

没有答案