四、外部命令
4.6 显示进程信息 (ps)
#include <stdio.h>
#include <unistd.h>
#include <sys/stat.h>
#include <string.h>
#include <stdlib.h>
#include <sys/types.h>
#include <dirent.h>
#include <pwd.h>
#define MAX_LEN 20
//函数声明
struct ps_info *trav_dir(char dir[]); //遍历指定目录下的进程目录,获取每个进程的基本信息,并构建一个链表来存储这些信息
int read_info(char d_name[], struct ps_info *p1); //读取给定进程目录中的 stat 文件,提取进程信息
void print_ps(struct ps_info *head); //打印链表中存储的进程信息
int is_num(char *); //判断给定的字符串是否为纯数字,用于过滤目录名称,确保只处理纯数字的目录(即进程的 PID)
//定义进程信息结构体
typedef struct ps_info
{
int pid; //进程号
int ppid; //父进程号
char state; //进程状态
unsigned long utime; // 用户态CPU时间,单位为时钟周期数
uns