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 ...
随机推荐
- bootstrap table 分页显示问题
1.bootstrap-table客户端分页 客户端分页的数据源可以是后台服务器端传递过来(一次性获取,即获取所有你需要的数据),点击页码不再请求后台,利用页面缓存分页;cache : true, / ...
- python笔记1-基础概念、python安装使用配置
Python 1.基础概念 一.什么是python? python是一种面向对象.解释型的计算机语言,它的特点是语法简洁.优雅.简单易学.在1989诞生,Guido(龟叔)开发.这里的python并不 ...
- idea没有错误出现红色波浪线怎么去掉?
在有波浪线的代码上Alt+Enter,弹出的菜单中第一项的子菜单选择disable inspection
- 解析url中参数
兼容不带参数等情况 function getUrlParam(){ var params = {}; var search = location.search; search = /\?/.test( ...
- L267 How to save money
When it comes to saving money, the struggle is all too real. It's like your bank account and your 20 ...
- Oracle审计策略例子
首先确保Oracle初始化参数audit_trail值为DB或OS,通过“show parameter audit_trail:”查看. 1 语句审计 audit table by test by a ...
- 漫步Java------接口
接口 一.定义 具有相同行为(方法),但是不相关的类 二.特点 只是提供方法,不定义方法的具体实现. 一个类只能继承一个父类,但是接口却可以继承多个接口. 接口是一个引用类型的变量 接口没有构造方法, ...
- NodeJs -- URL 模块.
1. url.parse(网址): 将字符串 解析成对象. 1-1) 一个参数 : 或者 参数1, false(默认), false(默认) var url = require('url'); c ...
- Delphi 10.2.3 新增的TMimeTypes类
Delphi 10.2.3 新增的TMimeTypes类,利用url中的文件扩展名,可以轻松得到url需要返回的HTTP content-type类型,可以参考这里,现在查看AddDefTypes方法 ...
- CHERRY G80 3000L 使用一月有感
就是楼上这家伙.. 都说程序猿用的最多的除了自己的右手就是键盘了.- - SO一个好的键盘必定会令写码的速度提升. 在TB和JD上选择许久,在青轴,红轴,黑轴,茶轴间难以抉择. 最后终于敲定: CHE ...