Định nghĩa struct task_struct ở đâu trong kernel Linux 2.6.30.5?


9

Trong kernel phiên bản 2.6.15, tôi nhận được rằng tôi có thể viết lại task_structtệp trong tệp (bao gồm / linux / calendar.h) như:

struct task_struct {  
    unsigned did_exec:1;  
    pid_t pid;  
    pid_t tgid;  
    ...
    char hide;
}  

Nhưng thật không may, khi tôi nâng cấp lên phiên bản 2.6.30.5, tôi đã xem qua cùng một tệp, tôi chỉ tìm thấy một tuyên bố về task_struct, như:

struct task_struct;

Và tôi không biết tôi nên tham khảo tập tin nào cho mục đích chỉ định của riêng tôi task_struct? Ai đó có thể giúp tôi?

Câu trả lời:


6

Sử dụng grephoặc bất kỳ công cụ tìm kiếm nào khác để tìm định nghĩa:

grep -r '^struct task_struct ' include

Hoặc tìm kiếm trực tuyến tại LXR : http://lxr.linux.no/linux+v2.6.30.5/+search?search=task_struct

Cấu trúc vẫn được xác định trong include/linux/sched.h. Có một tuyên bố chuyển tiếp được sử dụng trong các định nghĩa kiểu đệ quy lẫn nhau, và định nghĩa tiếp tục đi xuống.


3

Tôi đang sử dụng Debian bóp. Tôi thấy một định nghĩa trong các tiêu đề tương ứng với kernel hiện tại của tôi, trong /usr/src/linux-headers-2.6.32-5-common-vserver/include/linux/sched.h. Định nghĩa bắt đầu bằng

struct task_struct {
        volatile long state;    /* -1 unrunnable, 0 runnable, >0 stopped */
        void *stack;
        atomic_t usage;
        unsigned int flags;     /* per process flags, defined below */
        unsigned int ptrace;

        int lock_depth;         /* BKL lock depth */

HTH.


Vì vậy, am i sử dụng một phiên bản không ổn định nhưng do u có bất kỳ ý tưởng nơi, định nghĩa chuyển sang bất kỳ gợi ý thx??
kaiwii ho

@kaiwiiho: Xin lỗi, tôi không chắc ý của bạn là gì.
Faheem Mitha

ý tôi là cho dù phiên bản 2.6.15 không ổn định bạn có thể đưa ra một số gợi ý cho tôi?
kaiwii ho

@kaiwiiho: Không chắc bạn có nghĩa là ổn định. 2.6.15 là một bản phát hành hạt nhân. Định nghĩa của struct nằm trong tệp tiêu đề, theo như tôi có thể thấy. Bạn đang tìm kiếm cái gì?
Faheem Mitha
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.