如何使用exec()系列系统调用来实现cp和rm shell命令?我搜索了很多,但没有找到任何有用的网站/链接,有人可以帮忙吗?我如何使用exec()系列系统调用来实现shell命令cp和rm?
1
A
回答
4
下面是一些例子。
exec
功能与l
在他们的名字作为自己的参数参数列表。 p
后缀表示应该使用$PATH
找到命令,因此您可以提供命令名称。
execlp("cp", "cp", "sourcefile", "destfile", (char *)0);
与v
变体采取在单个数组参数参数(“V”代表vector
)。在这种情况下,我没有使用e
后缀,所以我给了程序的完整路径。
char *args[] = {"rm", "file1", "file2", 0);
execv("/bin/rm", args);
在这两种情况下,第一个参数也是程序的名称,因为这将在新的进程变得argv[0]
。并且参数的结尾用空指针表示。您应该在使用l
变体时明确提供类型转换,因为可变参数函数不会自动将类型转换为指针。
+0
这是否回答了您的问题?如果是这样,您应该通过接受答案来确认:点击绿色的复选标记。 – Barmar
相关问题
- 1. 系统调用和命令
- 2. Linux系统:结合 “LS” 和 “CP” 命令
- 3. 如何在Go中使用我的系统的命令shell?
- 4. 使用exec()系列运行“cd”命令
- 5. 使用commons-exec的一系列命令
- 6. Powershell调用命令和系统变量
- 7. 使用phonegap通过telnet和exec命令连接两个系统
- 8. Linux'socketcall'系统调用实现
- 9. 系统调用实现
- 10. PHP系统()函数 - 它使用shell来执行命令吗?
- 11. 如何使用系统和反引号来运行Unix命令?
- 12. 使用LKM实现Linux系统调用
- 13. 使用系统命令
- 14. 如何在ruby代码中使用find,-exec和cp命令?
- 15. 在exec系统调用中运行别名命令
- 16. 如何使用shell命令实现MapReduce?
- 17. 如何使用Redis列表来实现聊天系统?
- 18. Perl系统()调用使用哪个shell?
- 19. 使用exec在新进程中执行系统命令
- 20. 什么系统函数和cp命令在C/Linux中返回
- 21. 从C++调用底层系统命令
- 22. Strace命令只显示系统调用
- 23. Python - 无法调用系统命令
- 24. 如何在使用exec()系统调用后回到main()?
- 25. 执行shell命令编程android系统
- 26. 使用popen()来调用shell命令?
- 27. perl chdir和系统命令
- 28. Linux系统调用来发现设备的文件系统
- 29. Perl:使用shell环境运行系统命令
- 30. 如何通过系统命令在php中替换exec()?
[使用exec()系列运行“cd”命令](http://stackoverflow.com/questions/9859903/using-the-exec-family-to-run-the-cd-命令) –
@OliCharlesworth不是,因为'cd'是一个内置的shell。 – Barmar
@Barmar:是的,你说得对,'cp'和'rm'不是内置的。 –