管理概念
先描述,再组织


进程
启动一个软件就相当于启动了一个进程
Linux下执行一条命令就在系统层面创建了一个进程!!

如何管理

进程=对应的代码和数据 + 进程对应的PCB结构体

PCB(process control block)


在Linux系统中,可以使用以下几种方式获取进程的PID(进程ID):
- getpid()函数:可以使用C/C++的系统调用函数
getpid()来获取当前进程的PID。该函数定义在<sys/types.h>头文件中。
#include <sys/types.h>
#include <unistd.h>
int main() {
pid_t pid = getpid();
printf("当前进程的PID:%d\n", pid);
return 0;
}
- ps命令:在终端中可以使用
ps命令来查看当前正在运行的进程以及它们的PID。常用的ps命令选项包括-e(显示所有进程)、-f(显示完整格式)和-l(显示更详细的信息)。
ps -ef
- pgrep命令:
pgrep命令是一个用于根据进程名或其他属性查找进程PID的命令。可以使用pgrep命令来查找指定进程名的PID。
命令ps axj | grep myproc它将显示包含 “myproc” 关键字的进程信息。
解释一下这个命令的每个部分:
ps命令用于显示当前正在运行的进程信息。axj选项组合用于显示所有进程的详细信息,并使用类似于BSD风格的输出格式。|管道符将ps命令的输出传递给grep命令。grep命令用于过滤包含 “myproc” 关键字的行。
因此,ps axj | grep myproc命令将显示所有包含 “myproc” 关键字的进程信息。
ps axj | head -1 #显示头部
pgrep <进程名>
- /proc文件系统:Linux系统中的
/proc目录是一个虚拟文件系统,可以通过读取其中的文件来获取进程相关的信息,包括PID。可以使用/proc/self来获取当前进程的PID。
cat /proc/self/status | grep "Pid"
-
pidof命令:pidof命令用于根据进程名获取进程的PID。
pidof <进程名>
例如,要获取名为 “myproc” 的进程的PID,可以使用以下命令: -
pidof myproc
top命令:top命令用于实时显示系统中运行的进程和系统资源的使用情况。
top
在top命令的输出中,可以查找特定进程的PID。
kill -9 进程编号
man getppid
获得父进程id
fork


这个结果会打印出两个“you can see me!”



















