嵌入式Linux-应用开发笔记
进程 常用命令 pstree # 查看进程树状图 ps -aux # 查看所有用户的进程,-ux查看当前用户进程 进程状态 状态 说明 R 运行状态。严格来说,应该是"可运行状态",即表示进程在运行队列中,处于正在执行或即将运行状态,只有在该状态的进程才可能在 CPU 上运行,而同一时刻可能有多个进程处于可运行状态。 S 可中断的睡眠状态。处于这个状态的进程因为等待某种事件的发生而被挂起,比如进程在等待信号。 D 不可中断的睡眠状态。通常是在等待输入或输出(I/O)完成,处于这种状态的进程不能响应异步信号。 T 停止状态。通常是被shell的工作信号控制,或因为它被追踪,进程正处于调试器的控制之下。 Z 退出状态。进程成为僵尸进程。 X 退出状态。进程即将被回收。 s 进程是会话其首进程。 l 进程是多线程的。 + 进程属于前台进程组。 < 高优先级任务。 创建进程 所有进程都基于一个父进程分叉出来,最初始的父进程为init。 system() system()用于在程序中调用 shell 执行一条命令,内部通常会通过 fork() 创建子进程,再由子进程调用 exec() 执行 /bin/sh -c command。调用者会等待命令执行结束,并获得其退出状态。 #include <sys/types.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> int main(void) { pid_t result; printf("This is a system demo!\n\n"); /*调用 system()函数*/ result = system("ls -l"); printf("Done!...