execve函数的介绍与使用
#include<stdio.h>
#include<unistd.h>
int main()
{
char *filename[]={"./BP",NULL};//BP是c文件编译链接后产生的可执行文件,目的是打印一条语句
char *envp[]={0,NULL};//如果依赖于新环境变量,这里才需要改
execve("/root/BP",filename,envp);//字符串是文件的路径需要具体到该运行文件名,直到文件夹貌似识别不了,或者命令的路径
/*注意,把下面的三个注释遇到去掉,后面的ls命令也无法执行,因为*execve执行后,相当于结束了当前的程序,切换到execve里面的那个程序*去了*/
// char *filename1[]={"ls","-al","/root",NULL};//命令和参数,记得要加NULL
// char *envp1[]={0,NULL};
// execve("/bin/ls",filename1,envp1);
return 0;
}
//BP.c
#include<stdio.h>
int main()
{
printf("this is c process\n");
return 0;
}
运行结果如下
没修改前的运行结果
[22:41:10] gcc execvetest.c -o execvetest
[22:41:18] gcc BP.c -o BP
[22:41:24] ./execvetest
this is c process
注释掉前三行,并且去掉后面的注释,运行结果如下
[22:45:05] gcc execvetest.c -o execvetest
[22:45:11] gcc BP.c -o BP
[22:45:23] ./execvetest
total 64
dr-xr-x—. 15 root root 4096 May 10 21:06 .
dr-xr-xr-x. 17 root root 224 Apr 30 02:52 ..
-rw——-. 1 root root 314 Apr 30 07:08 .ICEauthority
-rw——-. 1 root root 3769 May 10 18:33 .bash_history
-rw-r–r–. 1 root root 18 Dec 28 2013 .bash_logout
-rw-r–r–. 1 root root 176 Dec 28 2013 .bash_profile
-rw-r–r–. 1 root root 208 May 10 18:19 .bashrc
drwx——. 10 root root 194 Apr 30 07:09 .cache
drwx——. 15 root root 276 Apr 30 07:09 .config
-rw-r–r–. 1 root root 100 Dec 28 2013 .cshrc
drwx——. 3 root root 25 Apr 30 06:53 .dbus
-rw——-. 1 root root 16 Apr 30 07:08 .esd_auth
drwx——. 3 root root 19 Apr 30 07:08 .local
-rw-r–r–. 1 root root 129 Dec 28 2013 .tcshrc
-rwxr-xr-x. 1 root root 8512 May 10 20:55 BP
drwxr-xr-x. 2 root root 6 Apr 30 07:08 Desktop
drwxr-xr-x. 2 root root 6 Apr 30 07:08 Documents
drwxr-xr-x. 2 root root 6 Apr 30 07:08 Downloads
drwxr-xr-x. 2 root root 6 Apr 30 07:08 Music
drwxr-xr-x. 2 root root 6 Apr 30 07:08 Pictures
drwxr-xr-x. 2 root root 6 Apr 30 07:08 Public
drwxr-xr-x. 2 root root 6 Apr 30 07:08 Templates
drwxr-xr-x. 2 root root 6 Apr 30 07:08 Videos
-rw——-. 1 root root 2742 Apr 30 02:52 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 May 10 22:45 bp
-rw-r–r–. 1 root root 2750 Apr 30 06:55 initial-setup-ks.cfg
-rw——-. 1 root root 2033 Apr 30 02:52 original-ks.cfg
execve函数的介绍与使用的更多相关文章
- php常用Stream函数集介绍
php常用Stream函数集介绍 作者: 字体:[增加 减小] 类型:转载 时间:2013-06-24 本篇文章是对php中的常用Stream函数集进行了详细的分析介绍,需要的朋友参考下 ...
- Signal ()函数详细介绍 Linux函数
http://blog.csdn.net/ta893115871/article/details/7475095 Signal ()函数详细介绍 Linux函数 signal()函数理解 在<s ...
- JavaScript function函数种类介绍
JavaScript function函数种类介绍 本篇主要介绍普通函数.匿名函数.闭包函数 1.普通函数介绍 1.1 示例 ? 1 2 3 function ShowName(name) { ...
- C语言之函数的介绍
函数的介绍 遇到的问题: 1.代码看起来特别多,不简洁 2.修改起来非常麻烦,需要所有用到的地方都修改 函数就可以解决上述这两个问题 函数可以理解为一个打包带,就是把一段代码打包起来,用到的时候只要写 ...
- ConnectString ()函数的介绍
ConnectString ()函数的介绍: connectstring 函数主要负责数据库的连接工作 Public Function ConnectString() As String ...
- Signal ()函数详细介绍 Linux函数(转)
Signal ()函数详细介绍 Linux函数 收藏人:紫火神兵 2012-09-27 | 阅:5659 转:22 | 来源 | 分享 signa ...
- Python入门之函数的介绍/定义/定义类型/函数调用/Return
本篇目录: 一. 函数的介绍 二. 函数的定义 三. 定义函数的三种类型 四. 函数调用的阶段 五. Return返回值 ======================================= ...
- Oracle自我补充之trunc()函数使用介绍
oracle trunc函数使用介绍 核心提示:oracle trunc函数使用介绍 1.TRUNC(for dates) TRUNC函数为指定元素而截去的日期值. 其具体的语法格式如下: TRUNC ...
- loadrunner 脚本开发-web_custom_request函数详细介绍
脚本开发-web_custom_request函数详细介绍 by:授客 QQ:1033553122 c语言版本: int web_custom_request(const char *RequestN ...
随机推荐
- flask不定参数的传递。多参数,多次传递
有的时候有一个分类查询,再来一个排序,这就有两个参数要传递多次. 还是不定长度,不定内容的传递. 这个是用request.args来实现: def home(): requests=request.a ...
- 图的关键路径,AOE,完整实现,C++描述
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- python造数
做性能测试时,往往需要大量的参数化数据,比如注册. from random import Random def random_str(randomlength=8): str='' chars='01 ...
- 多War包合并,jetty测试
模块间的相互依赖引用配置在pom.xml中加入要依赖的模块即可<dependency> <groupId>com.exayong</groupId> & ...
- Oracle审计策略例子
首先确保Oracle初始化参数audit_trail值为DB或OS,通过“show parameter audit_trail:”查看. 1 语句审计 audit table by test by a ...
- 使用libcurl下载https地址的文件
使用libcurl下载https地址的文件 void downLoadFile(std::string filename, std::string newFilename) { CURL *curl_ ...
- Python中列表、元组、集合、字典
Python 列表(List) 列表是最常用的Python数据类型: 列表中的数据项不需要具有相同的类型: 列表也叫做数组,定义时使用[]: 通过下标访问列表中的元素,下标从 0 开始计数 列表的增 ...
- select标签的相关操作,选中,获取option的值,二级联动
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 小程序 textarea
1.小程序中textarea不能在scroll-view.swiper.picker-view等等里面运用. 2.不在fixed布局的页面中,placeholder也会随着页面滚动,解决方法:顶级父元 ...
- 在使用MyCat和MySqL时的错误总结
在mysql中,无法连接虚拟机中的mysql. 原因:防火墙没有关闭 解决方案:service iptables stop 在mycat中,无法打开数据库的表, 原因:mycat在配置文件中设置的是自 ...