目录
进程调用
函数名:system()
头文件:#include<stdlib.h>
函数原型:int system(const char *command);
函数功能:在一个进程中调用系统指令
函数参数:系统指令的字符串形式 “clear”
函数返回值:成功返回 0,失败返回-1
函数使用:
system("stty echo");//终端回显
exec 函数族性质
system()执行完成之后,会继续执行进程剩余内容
exec 函数族在原进程中调用另一个进程执行指令。执行完成之后,不会继续执行原进程剩余内容
int execl(const char *pathname, const char *arg, ... /* (char *) NULL */);
int execlp(const char *file, const char *arg, ... /* (char *) NULL */);
int execle(const char *pathname, const char *arg, ... /*, (char *) NULL, char *const envp[] */);
int execv(const char *pathname, char *const argv[]);
int execvp(const char *file, char *const argv[]);
int execvpe(const char *file, char *const argv[],char *const envp[]);
函数名:execl()
头文件:#include <unistd.h>
函数原型:int execl(const char *pathname, const char *arg, ... /* (char *) NULL */);
函数功能:调用进程
函数参数:
const char *pathname:路径+可执行程序
const char *arg, ...:指令,其他参数
函数返回值:错误返回-1,错误码
函数使用:
// 使用execl执行ls程序,以长格式显示当前目录下的文件信息
int result = execl("/bin/ls", "ls", "-l", (char *) NULL);
if (result == -1) {
perror("execl");
return 1;
}
函数名:execlp()
头文件:#include<unistd.h>
函数原型:int execlp(const char *file, const char *arg, ... /* (char *) NULL */);
函数功能:调用进程
函数参数:
const char * file:可执行程序
const char *arg, ...:指令,其他参数
函数返回值:错误返回-1,错误码
函数使用:
execlp("mpg123","mpg123","100.mp3",NULL);
函数名:glob()
头文件:#include<glob.h>
函数原型:int glob(const char *pattern, int flags, int (*errfunc) (const char *epath, int eerrno), glob_t *pglob);
函数功能:在指定路径下查找指定格式的文件并保存信息
函数参数:
const char *pattern:文件格式
int flags:0
int (*errfunc) (const char *epath, int eerrno):NULL
glob_t *pglob:保存信息的结构体地址
函数返回值:成功返回 0
函数使用:
glob_t gl={0};
glob("*.mp3",0,NULL,&gl);
第3章 安装 mpg123
sudo apt-get install mpg123
使用: mpg123 歌曲名
退出: q