根据GNU网站,linux shell使用以下数据结构进行处理:
typedef struct process
{
struct process *next; /* next process in pipeline */
char **argv; /* for exec */
pid_t pid; /* process ID */
char completed; /* true if process has completed */
char stopped; /* true if process has stopped */
int status; /* reported status value */
} process;
为什么shell在内核中已经存在的进程中使用task_struct数据结构。为什么要使用单独的数据结构?