位置: 编程技术 - 正文

Linux进程控制详解及实例(linux进程运行的两种方式)

编辑:rootadmin

推荐整理分享Linux进程控制详解及实例(linux进程运行的两种方式),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux 进程控制,linux进程管理基础知识,linux进程控制与管理命令,linux进程指令,linux系统进程,linux进程指令,linux进程管理基础知识,linux进程管理基础知识,内容如对您有帮助,希望把文章链接给更多的朋友!

Linux进程控制详解及实例

常用函数:

fork() 通过复制调用进程来建立新的进程,是最基本的进程建立操作。 exec 包括一系列的系统调用,其中每个系统调用都完成相同的功能,即通过用一个新的程序覆盖原内存空间,来实现进程的转变。各种exec系统调用之间的区别仅在于它们的参数构造不同。 wait() 它提供了初级的进程同步措施,能使一个进程等待,直到另一个进程结束为止。 exit() 常用来终止一个进程的运行。

进程的建立

  如果fork()调用成功,就会使内核建立一个新的进程,所建的新进程是调用fork()进程的副本。也就是说,新的进程运行与其创建者一样的程序,其中的变量具有与创建进程变量相同的值。

  系统调用fork()没有参数,它返回一个pid_t类型的值pid。pid被用来区分父进程和子进程。在父进程中pid被置为一个非0的正整数;在子进程中,pid被置为0。

进程的运行

Linux进程控制详解及实例(linux进程运行的两种方式)

  exec系列调用:

  由于参数的个数是任意的,所以必须用一个null指针来标记参数表的结尾。下面给出一个使用execl()和execv()调用来运行ls的例子:   

系统调用execlp()和execvp()分别类似于系统调用execl()和execv(),它们的主要区别是:execlp()和execvp()的第一个参数指向的是一个简单的文件名,而不是一个路径名。它们通过检索shell环境变量PATH指出的目录,来得到该文件名的路径前缀部分。

exec和fork()的联用

  通过联用可以实现父进程运行一个与其不同的子进程,并且父进程不会被覆盖。下面给出一个 exec和fork()联用的例子:  

  在fork()调用之前,只有一个进程A,fork()调用后就有了进程A和B。A是父进程,它正在执行系统调用wait(),使进程A睡眠,直至进程B结束。同时进程B正在用execl装入命令ls。exec调用后,进程B的程序被ls的代码取代,执行ls命令的代码。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Git 创建分支提交远程分支详解 Git创建分支提交远程分支详解1.创建本地分支gitbranch分支名,例如:gitbranch2.0.1.注:2.0.1.是分支名称,可以随便定义。2.切换本地分支gitchecko

详解linux下利用crontab创建定时任务 Linux下可以利用crontab创建定时任务。常用搭配crontab-e编辑任务crontab-l查看所有任务[该用户]crontab-r取消所有任务[该用户]任务格式×××××+命令(具体任

linux下定时执行任务的方法及crontab 用法说明(收集整理) linux下定时执行任务的方法在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps-ef|grepcron]。cron读取一个或多个配置文件,这些配置文件中包含了

本文链接地址:https://www.jiuchutong.com/biancheng/376687.html 转载请保留说明!

上一篇:linux 守护进程详解及建立守护进程(linux守护进程管理)

下一篇:Git 创建分支提交远程分支详解

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络