linux
system()接收一个字符串参数,并把它当成命令执行数组
例如:编辑器
system("dir D:")打印D盘内容函数
system("gedit")在linux中启动编辑器性能
system("say 'End of line'") 在mac上阅读文本spa
二.使用elec()系统调用函数进程
elec函数位于unistd.h的头文件中,该函数调用进程成功时,系统会中止运行当前程序,去运行调用的程序。字符串
elecl() = 参数列表get
elecle()=参数列表+环境变量it
eleclp()=参数列表+搜索PATH
elecv()=参数数组
elecve()=参数数组+环境变量
elecvp()=参数数组+搜索PATH
在使用elec()函数时应该使用NULL结束参数列表
可使用getenv()函数读取环境变量
三.errno变量
errno变量是定义在errno.h中的全局变量
exec函数调用出错会返回-1,系统调用函数出错的同时将errno变量设为错误码
errno的标准错误码:
EPERM=1 不容许操做
ENOENT=2 没有该文件或目录
ESRCH=3 没有该进程
puts(strerrot(errno));
四.使用fork()克隆进程
使用fork()函数复制当前进程
fork函数被声明在unistd.h头文件中
在成功运行exec()后会替换掉当前进程,使用fork函数复制当前进程并运行exec建立子进程,便于父进程中实现原程序的循环
使用方法:
pid_t pid=fork()
fork会返回一个整数为子进程返回0,为父进程返回一个正数,父进程将接收子进程的进程标识符
pid_t函数用于存放进程标识符
使用fork()+exec()组合,建立并运行独立进程,不但能更好的利用现有软件,并且还能提升程序的性能。