栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用exec在新进程中执行系统命令

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用exec在新进程中执行系统命令

您错过了与的通话

fork
。所
exec
要做的就是 新程序 替换当前过程映像
。使用
fork
产卵您的当前进程的副本。它的返回值将告诉您正在运行的是子项还是原始父项。如果是孩子,请致电
exec


一旦你做出改变,它只是 看起来
,你需要按下Enter键完成的程序。实际情况是这样的:父进程派生并执行子进程。两个进程都运行,并且两个进程同时打印到标准输出。他们的输出是乱码。父进程的工作量少于子进程,因此它首先终止。当它终止时,正在等待它的外壳程序将唤醒并显示通常的提示。同时,子进程仍在运行。它打印更多文件条目。最后,它终止。外壳程序不关注子进程(其子进程),因此外壳程序没有理由重新打印提示。仔细查看获得的输出,您应该能够找到隐藏在命令行中的常用命令提示符。

ls

输出上面。

光标 似乎
正在等待您按下一个键。当您这样做时,外壳程序会显示一个提示,并且一切看起来都很正常。但是就外壳而言,一切已经很正常了。您之前可能已经键入了另一个命令。看起来有些奇怪,但是Shell会正常执行它,因为它只从键盘接收输入,而不是从子进程中向屏幕打印其他字符的输入。

如果

top
在单独的控制台窗口中使用类似的程序,则可以在必须按Enter之前观察并确认这两个程序已经完成运行。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/408904.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号