iOS、iphone 调用shell脚本
来源:互联网 发布:日本铁壶 知乎 编辑:程序博客网 时间:2024/05/22 01:26
由于ios中没有 cocoa的NSTask 所以要在cocoa touch SDK中执行shell 只能用系统调用
例如:system("ls");
注意system是系统C函数 所以参数不要使用NSString;
函数库:include<stdlib.h>
system(执行shell 命令)
相关函数
表头文件
定义函数
函数说明
返回值
如果fork()失败 返回-1:出现错误如果exec()失败,表示不能执行Shell,返回值相当于Shell执行了exit(127) 如果执行成功则返回子Shell的终止状态 如果system()在调用/bin/sh时失败则返回127,其他失败原因返回-1。若参数string为空指针(NULL),则返回非零值>。如果system()调用成功则最后会返回执行shell命令后的返回值,但是此返回值也有可能为 system()调用/bin/sh失败所返回的127,因此最好能再检查errno 来确认执行成功。
附加说明
在编写具有SUID/SGID权限的程序时请勿使用system(),system()会继承环境变量,通过环境变量可能会造成系统安全的问题。
范例
#i nclude<stdlib.h>
main()
{
system("ls -al /etc/passwd /etc/shadow");
}
执行结果:
范例
main()
{
system("ls -al /etc/passwd /etc/shadow");
}
执行结果:
-rw-r--r-- 1 root root 705 Sep 3 13 :52 /etc/passwd
-r--------- 1 root root 572 Sep 2 15 :34 /etc/shado
-r--------- 1 root root 572 Sep 2 15 :34 /etc/shado
例2:
char tmp[];
sprintf(tmp,"/bin/mount -t vfat %s /mnt/usb",dev);
system(tmp);
其中dev是/dev/sda1。
sprintf(tmp,"/bin/mount -t vfat %s /mnt/usb",dev);
system(tmp);
其中dev是/dev/sda1。
0 0
- iOS、iphone 调用shell脚本
- java调用Shell脚本
- java调用Shell脚本
- JAVA 调用shell脚本
- Java 调用Shell脚本
- Python 调用shell脚本
- shell脚本调用java
- Java调用shell脚本
- python调用Shell脚本
- python调用Shell脚本
- python调用shell脚本
- JAVA调用Shell脚本
- java调用Shell脚本
- java调用shell脚本
- ant调用 shell脚本
- python调用shell脚本
- CMake 调用 Shell 脚本
- Java调用Shell脚本
- 应用系统中常见报表类型解析
- 如何彻底卸载SqlServer2008数据库
- The Eclipse Color Theme 安装背景插件
- Git补丁
- android检测软键盘是否弹起
- iOS、iphone 调用shell脚本
- 由priority queue练习题引出的高效素数求解
- d3.js读书笔记-1
- MyEclipse下的CVS的 常见符号标志整理
- Ubuntu 安装 MTK65XX平台编译环境(兼容展讯android环境)
- sdut 2169
- 分享一些FusionMaps的教程案例资讯疑难解答
- 应用系统中交互式报表功能解析
- android 点击输入框调出输入法流程分析