我正在尝试练习一些内核进程管理API,如http://reiber.org/nxt/pub/Linux/LinuxKernelDevelopment/Linux.Kernel.Development.3rd.Edition.pdf(Robert Kernel Development by Robert Love,第3版)。
我不确定如何练习教科书中给出的代码段。我能理解这个理论但却找不到一种练习方法。例如:我想读取进程struct task_struct
以找到它的父进程标识符,或者在哪个状态或创建内核线程等多少任务?如果我不能练习这些,那就很难记住它们。因此,这些概念在实践中仍然存在于我的记忆中。
答案 0 :(得分:1)
您可以编写一个char驱动程序,并在其open / read / write方法中访问task_struct,该task_struct将是正在执行操作的当前用户空间进程。您可以了解进程PID,PPID和其他信息。
答案 1 :(得分:0)
并且,为了通知您,您可以使用bash命令ps -ef
或ps ux
来了解进程的PID和状态。
ps
代表流程状态。该命令应该用于显示Unix / Linux系统上当前正在运行的进程。