C 我可以得到我在另一个程序中执行的程序的PID吗?

C 我可以得到我在另一个程序中执行的程序的PID吗?,c,exec,pid,C,Exec,Pid,如果我在一个程序的主进程中执行一个exec,我是否可以通过某种方式获得exec执行的进程的PID(进程ID),以便稍后向它发送中断/信号?是的,在linux上,您可以分叉一个子进程,并获得类似于中的PID #包括 内部主(空){ char*argv[3]={“命令行”,“空”}; int-pid=fork(); 如果(pid==0){ execvp(“查找”,argv); } /*让父对象睡眠2秒钟——让子对象完成执行*/ 等待(2); printf(“已完成执行父进程\n” “-孩子不会到这里

如果我在一个程序的主进程中执行一个
exec
,我是否可以通过某种方式获得
exec
执行的进程的PID(进程ID),以便稍后向它发送中断/信号?

是的,在linux上,您可以分叉一个子进程,并获得类似于中的PID

#包括
内部主(空){
char*argv[3]={“命令行”,“空”};
int-pid=fork();
如果(pid==0){
execvp(“查找”,argv);
}
/*让父对象睡眠2秒钟——让子对象完成执行*/
等待(2);
printf(“已完成执行父进程\n”
“-孩子不会到这里--您只能看到一次\n”);
返回0;
}
资料来源:

getpid()
也在这个链接中

可能
execl(“child”,…,getpid(),…)
子进程
以某种方式使用父进程pid通知自己的进程id。
#include <stdio.h>

    
int main( void ) {
    char *argv[3] = {"Command-line", ".", NULL};

    int pid = fork();

    if ( pid == 0 ) {
        execvp( "find", argv );
    }

    /* Put the parent to sleep for 2 seconds--let the child finished executing */
    wait( 2 );

    printf( "Finished executing the parent process\n"
            " - the child won't get here--you will only see this once\n" );

    return 0;
}