一、系统命令system
1、示例:
#include <cstdlib>
int main() {
system("sleep 10");
return 0;
}
- 程序会等待10秒后,执行完成
- 使用
system("sleep 10 &");
可以实现非阻塞执行
2、示例: 注意若用了分号;
,&
只对前面指令有效
#include <cstdlib>
int main() {
system("sleep 10; ls &");
return 0;
}
3、示例
#include <cstdlib>
int main() {
system("sleep 10 && ls &");
return 0;
}
二、系统命令popen
#include <iostream>
#include <unistd.h>
#include <sys/types.h>
std::string execCmd(const char* cmd) {
FILE *pp = popen(cmd, "r");
char tmp[1024];
std::string result;
while (fgets(tmp, sizeof(tmp), pp) != NULL)
result += tmp;
pclose(pp);
return result;
}
int main() {
for (int i = 0; i < 10; ++i) {
std::string output = execCmd("ls");
std::cout << output;
}
return 0;
}