首页编程语言linux c语言 多线程

linux c语言 多线程

cysgjjcysgjj时间2024-06-26 09:10:10分类编程语言浏览26
导读:Linux系统是如何创建进程的?听说这一过程是用C语言clone函数实现的?Linux系统是如何创建进程的?听说这一过程是用C语言clone函数实现的?这跟execvp函数的实现方式有关:int execvp(const char *file ,char * const argv [] ;execvp( 会从PATH 环境变量所指的目……...
  1. Linux系统是如何创建进程的?听说这一过程是用C语言clone函数实现的?

linux系统如何创建进程的?听说这一过程是用C语言clone函数实现的?

这跟execvp函数的实现方式有关:

int execvp(const char *file ,char * const argv []);

execvp()会从PATH 环境变量所指的目录中查找符合参数file的文件名,找到后便执行该文件,然后将第二个参数argv传给该欲执行的文件。如果执行成功则函数不会返回,执行失败则直接返回-1,失败原因存于errno中。

linux c语言 多线程
图片来源网络,侵删)

所以显示“fail to exec”,是因为在PATH环境变量所指的目录中没有名为“hello”的程序。建议进行如下操作:

1、运行“echo $PATH”,查看一下PATH环境变量指向那些目录

2、编写一个输出“hello world”的程序,并命名为hello,即执行命令

linux c语言 多线程
(图片来源网络,侵删)

gcc -o hello

hello.c

3、把名为”hello“的程序拷贝到PATH变量所指的其中一个目录中

linux c语言 多线程
(图片来源网络,侵删)

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/15312.html

变量执行hello
各种编程语言的应用,各种编程语言的应用场景 互联网技术去哪里学好一点呢