【Linux】从零开始认识进程 — 前篇
warning:
这篇文章距离上次修改已过447天,其中的内容可能已经有所变动。
在Linux中,进程是正在执行的程序的实例。每个进程都有自己的地址空间、内存、数据段、堆栈等。
要查看系统中的进程,可以使用ps命令。ps是"process status"的缩写。以下是几个常用的ps命令选项:
ps -e:显示所有进程。ps -f:显示完整格式。ps -aux:显示所有用户的进程。
例如,要以全格式显示所有进程,可以使用以下命令:
ps -ef另外,top命令可以实时显示进程信息,包括CPU和内存使用情况。
top如果你想要查看特定进程的信息,可以使用grep工具过滤输出。例如,查看包含"bash"的进程:
ps -ef | grep bash创建一个新进程,可以使用fork()系统调用,它会创建一个与父进程几乎完全相同的子进程。以下是一个简单的示例:
#include <stdio.h>
#include <unistd.h>
int main() {
pid_t pid = fork();
if (pid == -1) {
// 错误处理
perror("fork failed");
return 1;
} else if (pid == 0) {
// 子进程
printf("Hello from child process!\n");
} else {
// 父进程
printf("Hello from parent process!\n");
}
return 0;
}编译并运行这段代码,会创建一个子进程,打印出相应的消息。父进程和子进程的区别在于fork()返回值。子进程接收0,而父进程接收子进程的ID。
评论已关闭