Linux C系统编程(一)

进程的概念

什么是程序?什么是进程?二者有什么区别?
程序是一堆待执行的代码。 -> 静态的文本数据。 project.c (C程序) / project (可执行程序)
进程是当程序被CPU加载时,根据没一行代码做出相应的动作,才能形成一个真正动态的过程,那么这个过程就称之为进程! -> 动态过程!

如何在linux中开启新的进程?
在linux执行程序即可。
程序: project
开启新的进程: ./project -> 开启进程!

当程序被执行时,除了在内存空间中分配空间之外,还会分配一个task_struct结构体给进程。
也就是说:每启动一个进程,就会得到一个task_struct结构体!
/usr/src/linux-headers-3.5.0-23/include/linux/sched.h

查看进程信息

依然将实验放在MYZR-i.MX8M-EVK开发板上进行,给开发板烧录了ubuntu后就可以开始了。
Linux C系统编程(一)
查看整个系统所有进程的关系网:pstree
systemd进程称之为"祖先进程"
systemd进程有5个子进程,分别是:NetworkManager、 accounts-daemon、agetty等

查看系统所有进程的PID号 : ps -ef
Linux C系统编程(一)

查看进程CPU占用率/当前系统总进程数/进程状态个数 : topLinux C系统编程(一)