【发布时间】:2019-12-12 00:20:00
【问题描述】:
我在阅读著名的C Language Book (1988) 时遇到了the command。这个命令现在常用吗?
来自本书(第 7.8.4 节):
函数system(char *s)执行包含在 字符串 s,然后继续执行当前程序。这 s 的内容很大程度上取决于本地操作系统。作为一个 简单的例子,在 UNIX 系统上,语句
system("date");
导致程序 date 运行...
我的印象是 fork-and-exec 是从当前程序运行另一个程序的主要方式...
【问题讨论】:
-
Fork/exec 不是标准 C,不是做同样的事情
-
在 unix 系统上,
system(cmd)实际上是fork()+execl("/bin/sh", "sh", "-c", cmd, (char *)NULL)+waitpid()。
标签: c standard-library c89