1、linux中进程的概念
进程是具有一定功能的程序关于一个数据集合的一次运行活动,是处于活动状态的计算机程序。
进程在生存期间可能处于三种基本状态:运行态、就绪态、等待态。
在多处理操作系统中,进程具有独立的权限和职责。如果系统中某个进程崩溃,不会影响到其他的进程。每个进程运行在各自的虚拟地址空间中,通过一定的通信机制,他们之间才能发生联系。
2、linux中每个进程用一个task_struct数据结构来表示。数组task包含指向系统中所有task_struct结构的指针。
3、linxu中,通过命令ps显示当前正在运行的进程。 ps aux显示所有的进程。可以配合grep以及管道命令进行查找工作。
4、进程有唯一的标识号(ID),另外进程还有real user ID, real group ID,effective user ID, effective group Id。一般情况下,他们是相同的,都是运行该进程的用户ID。但我们设置set_user_ID标记位后,real user ID不变,但effective user ID 编程了文件owner ID,组也一样,区别就是设置标记位:set_group_ID。Shell里面用chmod 6755 filename ,suid和sgid位对应了6里面的4和2两个位,suid的是4,sgid的是2。
5、linux进程有两种运行模式:用户模式、系统模式。进程通过系统调用在这两种模式之间切换。
可运行进程只是一个等待cpu资源的进程。(因为时间片切换)