Linux sched文件夹为空

Linux sched文件夹为空,linux,linux-kernel,Linux,Linux Kernel,当我执行ls/usr/src/linux-headers-4.10.0-38-generic/include/linux/sched时,我得到以下结果: deadline.h jobctl.h prio.h rt.h sysctl.h task.h 当我看的时候,显然有一些文件丢失了 现在在我的项目中,我想使用signal.h文件,但它告诉我致命错误:linux/sched/signal.h:没有这样的文件或目录我做错了什么?在4.11内核中被移动到,因此您需要根据内核版本有条件地包

当我执行
ls/usr/src/linux-headers-4.10.0-38-generic/include/linux/sched
时,我得到以下结果:

deadline.h  jobctl.h  prio.h  rt.h  sysctl.h  task.h
当我看的时候,显然有一些文件丢失了

现在在我的项目中,我想使用
signal.h
文件,但它告诉我
致命错误:linux/sched/signal.h:没有这样的文件或目录
我做错了什么?

在4.11内核中被移动到
,因此您需要根据内核版本有条件地包括其中一个:

#include <linux/version.h>

#if LINUX_VERSION_CODE < KERNEL_VERSION(4,11,0)
#include <linux/signal.h>
#else
#include <linux/sched/signal.h>
#endif
#包括
#如果LINUX版本代码<内核版本(4,11,0)
#包括
#否则
#包括
#恩迪夫

没有提出好问题?您正在使用哪个发行版?Kubuntu
17.10
Linux 4.10.0-38-generic
4.10版本的内核内核树:。甚至有一个文件比您的系统中的小。