|
|
1
45
这取决于您想对脚本(或任何其他要运行的程序)做什么。
如果你只想运行脚本
如果您想通过shell脚本的标准输入来提供它,或者使用它的标准输出,您可以使用
这两种功能都是库功能,在底层做了很多工作,但是如果它们不满足您的需求(或者您只是想试验和学习),您也可以直接使用系统调用。这也允许您避免让shell(/bin/sh)为您运行命令。
系统调用感兴趣的是
将fork和execve步骤分开允许程序在创建新进程之前为其进行一些设置(而不会弄乱自己)。其中包括将标准输入、输出和stderr更改为与所用父进程不同的文件、更改进程的用户或组、关闭子进程不需要的文件、更改会话或更改环境变量。
您也可能对
|
|
|
2
25
你可以用
这将在执行时阻止使用
|
|
|
3
16
如果您对posix没问题,也可以使用
|
|
|
4
3
一个简单的方法是……
说声谢谢
|
|
|
5
1
如果你需要更精细的等级控制,你也可以去
|
|
|
6
1
正如多伦提到的,我更喜欢用fork+execlp来控制“更精细的等级”。 示例代码如下所示。 将命令存储在char数组参数中,并为结果存储malloc空间。
|
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
|
user2138149 · 双栈网络服务器无法按预期处理ipv4请求 1 年前 |
|
|
Marco · PyCharm Linux系统文件上os.stat异常 1 年前 |