博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux C语言执行命令行
阅读量:2207 次
发布时间:2019-05-04

本文共 472 字,大约阅读时间需要 1 分钟。

char* arg[3];char *envp[] = {
0,NULL};arg[0]="mkdir";arg[1]="./user/hello";arg[2]=NULL;if(fork()==0){
execve("/usr/bin/mkdir",arg,envp);} else {
return 0; }

Ps: execve()在执行完成后会终止当前进程

所以我们得搞个子进程去执行,才不会影响主进程

第一个参数:

文件名—就是你要用的命令对应的文件

例:ls,cd

这些常用的命令都是存在/usr/bin目录下

(当然也可以是其他可执行的文件,不过像gedit这样有GUI程序,C语言不支持,会报错)

第二个参数:

arg—命令和需要的参数,并且最后一个参数是NULL,作为结束标志

Ps:那我上面的 mkdir 举例

新建的文件夹默认是在当前目录

如果需要在子目录里新建,则在文件路径那花点心思就行了

像:

./user/hello

第三个参数:

envp—用于配置环境变量,一般情况下不用管它

转载地址:http://haiyb.baihongyu.com/

你可能感兴趣的文章
解决问题之 MySQL慢查询日志设置
查看>>
contOS6 部署 lnmp、FTP、composer、ThinkPHP5、docker详细步骤
查看>>
TP5.1模板布局中遇到的坑,配置完不生效解决办法
查看>>
PHPstudy中遇到的坑No input file specified,以及传到linux环境下遇到的坑,模板文件不存在
查看>>
TP5.1事务操作和TP5事务回滚操作多表
查看>>
composer install或composer update 或 composer require phpoffice/phpexcel 失败解决办法
查看>>
TP5.1项目从windows的Apache服务迁移到linux的Nginx服务需要注意几点。
查看>>
win10安装软件 打开时报错 找不到 msvcp120.dll
查看>>
PHPunit+Xdebug代码覆盖率以及遇到的问题汇总
查看>>
PHPUnit安装及使用
查看>>
PHP项目用xhprof性能分析(安装及应用实例)
查看>>
composer安装YII
查看>>
Sublime text3快捷键演示
查看>>
sublime text3 快捷键修改
查看>>
关于PHP几点建议
查看>>
硬盘的接口、协议
查看>>
VLAN与子网划分区别
查看>>
Cisco Packet Tracer教程
查看>>
02. 交换机的基本配置和管理
查看>>
03. 交换机的Telnet远程登陆配置
查看>>