在linux中如何创建进程,如何在Linux中创建进程?

加载到内存中并执行的程序称为进程。简单来说,一个进程就是一个正在执行的程序。

让我们检查一下如何在Linux中创建进程

可以通过fork()系统调用创建一个新进程。新进程包含原始进程的地址空间的副本。fork()从现有流程创建新流程。现有进程称为父进程,而新创建的进程称为子进程。该函数从父进程中调用。父进程和子进程都在后面的指令处继续执行,对于新进程,fork()的返回码fork()为零,而子进程的标识符返回给父进程。

Fork()系统调用位于库中。

系统调用getpid()返回当前进程getppid()的进程ID,并返回当前进程的父进程的进程ID。

示例

让我们以如何使用fork()系统调用创建子进程为例。#include 

#include 

#include 

int main( ){

pid_t child_pid;

child_pid = fork (); // Create a new child process;

if (child_pid 

printf("fork failed");

return 1;

} else if (child_pid == 0) {

printf ("child process successfully created!\n");

printf ("child_PID = %d,parent_PID = %d\n",

getpid(), getppid( ) );

} else {

wait(NULL);

printf ("parent process successfully created!\n");

printf ("child_PID = %d, parent_PID = %d", getpid( ), getppid( ) );

}

return 0;

}

输出结果child process successfully created!

child_PID = 31497, parent_PID = 31496

parent process successfully created!

child_PID = 31496, parent_PID = 31491

在此,getppid()子进程返回与getpid()父进程相同的值。

pid_t是代表进程ID的数据类型。它是为过程识别而创建的。每个进程都有一个唯一的ID号。接下来,我们调用系统调用fork(),它将从调用过程中创建一个新过程。父进程是调用函数,新进程是子进程。fork()如果成功创建该过程,则系统调用将返回零或正值。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值