Linux kernel 3.x内核中daemonize()内核api的替代品是什么

Linux kernel 3.x内核中daemonize()内核api的替代品是什么,linux-kernel,kernel,porting,Linux Kernel,Kernel,Porting,我正在从事一个从linux内核2.6迁移到3.10的项目 2.6版本包含对apidaemonize()的调用,这在较新的内核中不再可用 到目前为止,我已经看到了一个替代者。然而,当我将函数设置为start、null和string name作为参数的kernel_thread()放入时,我得到了很多:“不能fork”错误 有人能建议正确的更换吗 要管理内核线程,您应该使用中的helper函数,例如kthread_run()谢谢,我注意到在上面粘贴的链接中。然而,我可能只是尝试用kthread_ru

我正在从事一个从linux内核2.6迁移到3.10的项目

2.6版本包含对apidaemonize()的调用,这在较新的内核中不再可用

到目前为止,我已经看到了一个替代者。然而,当我将函数设置为start、null和string name作为参数的kernel_thread()放入时,我得到了很多:“不能fork”错误


有人能建议正确的更换吗

要管理内核线程,您应该使用
中的helper函数,例如
kthread_run()

谢谢,我注意到在上面粘贴的链接中。然而,我可能只是尝试用kthread_run()替换对daemonize的调用,这会导致运行时出现诸如“无法分叉”之类的失败。您的意思是要删除daemonize并使用kthread_run()来启动线程,而不是kernel_thread()?谢谢?你必须正确使用API。具体的执行方式取决于代码的执行方式。无论代码执行何种操作,我感觉并想确认的区别是“kthread_run不是daemonize的一对一替换。daemonize使用kernelthread或其他方式唤醒已创建的线程。但是,当您使用kthread_run创建线程时,不再需要daemonize”。这种理解正确吗?谢谢你,谢谢你。