#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
pid_t result;
result=fork();
if(result==-1){
// perrer("fork");
exit;
}else if(result==0){
printf("result=%d,ppid=%d,pid=%d\n",result,getppid(),getpid());
}else{
printf("result=%d,ppid=%d,pid=%d\n",result,getppid(),getpid());
}
}
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
pid_t result;
result=fork();
if(result==-1){
// perrer("fork");
exit;
}else if(result==0){
printf("result=%d,ppid=%d,pid=%d\n",result,getppid(),getpid());
if(execlp("ps","ps","-ef",NULL)<0){
printf("error");
exit;
}
}else{
printf("result=%d,ppid=%d,pid=%d\n",result,getppid(),getpid());
}
}
分享到:
相关推荐
### c语言中的`fork()`函数详解 #### 一、引言 `fork()`函数作为操作系统提供的核心系统调用之一,在进程管理和并发编程中扮演着重要角色。本文将深入探讨`fork()`函数的基本概念、工作原理及其在C语言中的具体应用...
ForkJoin框架是Java并发编程中的一个重要工具,它基于分治策略,旨在高效处理大量数据。框架的核心思想是将一个大型任务分解成多个小型任务,然后通过并行执行这些子任务来提高处理效率。ForkJoin框架在Hadoop ...
- 第17章 syscall:探讨fork、daemon等系统调用。 - 第18章 time:涵盖Time、Duration和Timer。 - 第19章 sync:介绍Locker、Cond、Once、WaitGroup和atomic。 - 第20章 os:包含System、Environ、Process、Signal和...
"github个人使用笔记" Github 是一个趋势,作为一个开发者,学习和掌握 Github 的使用是非常重要的。本笔记将详细介绍 Github 的个人使用方法和 Git 的基本命令。 Github 的基本概念 在 Github 中,每个用户都有...
在syscall部分,作者讲解了Go语言中的syscall库,包括fork、daemon等内容。 在time部分,作者讲解了Go语言中的time库,包括Time、Duration、Timer等内容。 在sync部分,作者讲解了Go语言中的sync库,包括Locker、...
包括fork、exec、wait、signal等系统调用的工作原理,以及多线程和进程间通信(IPC)机制。 3. **内存管理**:Linux内核如何分配和回收内存,包括页表、内存分页、交换机制、内存分配器(如slab和kmem_cache)的...
线程的创建、启动、生命周期、同步和通信机制都有所涵盖,而进程的创建则使用了`fork`方法。 网络编程部分涉及了HTTP请求、TCP和UDP协议的使用,包括如何创建服务器、进行网络通信,以及使用`socket`、`urllib`等...
这部分内容可能会涉及fork-join语句、敏感列表、always_comb/always_latch/always_ff块等。 8. **断言和属性**:断言用于在设计中插入检查点,确保设计行为符合预期。SystemVerilog的属性可以用于实时检测错误,有...
Linux内核阅读笔记 本文是 Linux 内核 0.11 源代码的完全注释,旨在帮助读者了解 Linux 内核的工作原理和实现细节。下面是从标题、描述、标签和部分内容中提取的相关知识点: 1. 中断机制:中断是 OS 的主线,...
"ch3_4_1_系统调用FORK.doc"、"ch3_4_2_系统调用_EXEC.doc"、"ch3_4_3_系统调用exit.doc"和"ch3_4_4_系统调用_wait.doc"分别涉及了创建新进程(fork)、替换进程地址空间(exec)、结束进程(exit)和等待子进程结束...
3. **多线程改进**:JDK 7提供了`Fork/Join`框架,这是一种基于工作窃取算法的并行编程模型,用于高效地执行大量可分解的任务。 4. **try-with-resources语句**:这个新特性允许自动关闭实现了`AutoCloseable`接口...
【joyfire Linux 笔记】是一份详尽的内核分析资源,专为对Linux操作系统内核感兴趣的读者设计。这份笔记以中文呈现,涵盖了Linux启动流程、中断处理、内存管理、进程调度、网络编程以及系统调用等多个核心主题,旨在...
fork项目后的操作fork项目后,除了上文提到的环境配置,需要在项目根目录下运行以下指令:```shellpython3 manage.py makemigrationspython3 manage.py migrate```启动项目:```shellpython3 manage.py runserver```...
1. **系统调用**:如open、read、write、close用于文件操作,fork、exec、wait用于进程控制,signal处理信号。 2. **文件描述符**:每个打开的文件在进程中都有一个唯一的文件描述符,通过它可以操作文件。 3. **...
- `fork join_any`:当任何内部线程完成时,外部线程可以继续执行。 2. **线程间的通信**:通过共享变量或信号实现。 #### 五、面向对象编程 SystemVerilog支持面向对象编程特性,使得代码更加模块化和可重用。 1...
### Github笔记知识点详解 #### 一、Github基础篇 ##### 第一步:安装 Git - **命令行安装**:对于Linux用户来说,可以通过包管理器来安装Git,例如使用`sudo apt-get install git git-core git-doc git-email ...
Linux下C语言开发笔记整理涵盖了从基础知识到网络通信的多个方面,主要围绕在Unix/Linux系统环境下使用C语言进行软件开发的各项技术与理论。以下是从文件提供的信息中提炼的知识点。 ### Unix/Linux系统基本命令和...
9. **系统调用**:系统调用是用户空间与内核空间交互的主要方式,如open、read、write、fork、execve等,它们提供了系统功能的接口。 10. **模块化设计**:Linux内核采用模块化设计,使得新的硬件驱动或功能可以...
"哔哩哔哩JUC狂老师笔记.zip"中的笔记内容,显然聚焦于讲解如何有效地利用JUC库来提升并发性能和程序的正确性。下面,我们将深入探讨JUC中的关键知识点。 1. **锁机制**: - **synchronized**:Java内置的关键字,...