linux中的execlp函数的作用,我不明白execlp()在Linux中的工作原理
这个原型:
int execlp(const char *file, const char *arg, ...);
说execlp是一个可变参数函数。它需要2个const char *。其余的参数(如果有的话)是要转移到我们要运行的程序的附加参数 – 也是char * – 所有这些都是C字符串(最后一个参数必须是NULL指针)
所以,文件参数是要执行的可执行文件的路径名。 arg是我们想在可执行文件中显示为argv [0]的字符串。按照惯例,argv [0]只是可执行文件的文件名,通常它被设置为与文件相同。
现在是给予可执行文件的附加参数。
说你从命令行/ shell运行:
$ ls
那将是execlp(“ls”,“ls”,(char *)NULL);
或者如果你跑
$ ls -l /
那将是execlp(“ls”,“ls”,“-l”,“/”,(char *)NULL);
所以对execlp(“/ bin / sh”,…,“ls -l / bin / ??”,…);
在这里你要去shell,/ bin / sh,你给shell命令执行。该命令是“ls -l / bin / ??”。您可以从命令行/ shell手动运行它:
$ ls -l /bin/??
现在,你如何运行一个shell并告诉它执行一个命令?你打开你的shell的文档/手册页并阅读它。
你想要运行的是:
$ /bin/sh -c "ls -l /bin/??"
这变成了
execlp("/bin/sh","/bin/sh", "-c", "ls -l /bin/??", (char *)NULL);
边注:
/ bin / ??正在进行模式匹配,此模式匹配由shell完成,并扩展为/ bin /下的所有文件,具有2个字符。如果你这样做的话
execlp("ls","ls", "-l", "/bin/??", (char *)NULL);
可能没有什么会发生(除非有一个文件实际上命名为/ bin / ??),因为没有shell解释和扩展/ bin /?
linux中的execlp函数的作用,我不明白execlp()在Linux中的工作原理相关推荐
- linux中的execlp函数的作用,我不明白execlp()在Linux中的工作方式
小编典典 这个原型: int execlp(const char *file, const char *arg, ...); 说execlp是一个变量参数函数.这需要2 const char *.其余 ...
- java中的string函数_java中string.trim()函数的作用实例及源码
trim()的作用:去掉字符串首尾的空格. public static void main(String arg[]){ String a=" hello world "; Str ...
- C语言中内联函数的作用 inline
C语言中内联函数的作用 inline C语言中内联函数到底有什么作用? 试想一下,每当我们在假设就在主函数中调用另外一个函数的时候,那么这个函数就要入栈或者出栈,比如说下面的一个例子: 点击(此处)折 ...
- java中trim_java中string.trim()函数的作用实例及源码
trim()的作用:去掉字符串首尾的空格. public static void main(String arg[]){ String a=" hello world "; Str ...
- java中string.trim()函数的作用
java中string.trim()函数的作用 trim的中文含义是修剪,通过其字面意思,我们不难理解这个函数是对字符串进行一定程度的修改删除.那么,具体是如何实现的呢? public static ...
- Python使用matplotlib可视化箱图、seaborn中的boxplot函数可视化分组箱图、在箱图中添加抖动数据点(Dot + Box Plot)
Python使用matplotlib可视化箱图.seaborn中的boxplot函数可视化分组箱图.在箱图中添加抖动数据点(Dot + Box Plot) 目录
- C语言中fun的功能是将字符串,下列给定的程序中,fun()函数的功能是:将p所指字符串中......
下列给定的程序中,fun()函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写(这里的"单词"是指有空格隔开的字符串).例如,若输入: I am a student to ...
- php中的sql函数的作用,PHP实用函数9
10个不太为人所知的,但实用的PHP函数 10个不太为人所知的,但实用的PHP函数 您的评价: 较差 收藏该经验 阅读目录 php_check_syntax highlight_string show ...
- C++中virtual 虚函数的作用介绍
1,介绍 虚函数是定义在基类中的函数,子类必须对其进覆盖.在类中声明虚函数的格式: virtual void display(); 2,作用 (1)定义子类对象,并调用对象中未被子类覆盖的基类函数A ...
最新文章
- android studio x86虚拟机,Android studio在运行虚拟机的时候出现这种情况怎么办?
- 博士申请 | 南洋理工大学骆思强老师招收大数据/机器学习方向博士生、博士后...
- .Net开源的跨平台爬虫框架 DotnetSpider
- 闪光灯slave是什么意思_闪光灯实战讲解 | 室内光线+闪光灯使用配合=完美光效...
- css圆角box(宽度自适应)(百度知道挖出)
- html toast 插件,基于Bootstrap4的Toast提示插件
- Xiaojie雷达之路---TI实战笔记---OSAL layer说明
- Axure制作微信APP原型(二)登录注册模块
- Ice的HelloWorld(Java)
- CCF系列题解--2015年3月第三题 节日
- vue3 Component inside <Transition> renders non-element root node that cannot be animated.
- 酷睿i5 12500H相当于什么水平 i512500H属于哪个档次
- HTML 修改滚动条样式
- macOS Monterey升级
- 数据分析有什么证书吗?多数小伙伴都认可CPDA
- 怎样使用nat和桥接方式解决虚拟机联网问题
- AI助力 —— 软件开发、学习、生活
- AI 微信自动聊天机器人
- java 磁力链接下载_java构建磁力链接 返回数据解码
- 支付宝手机H5支付笔记