【发布时间】:2017-05-17 15:10:39
【问题描述】:
在同一个shell中执行多个shell命令的最佳方法是一个和另一个之间的延迟?
例如,这是一个执行 cd 和 ls 命令但在不同 shell 中的示例代码。如何添加 10 秒延迟并在同一个 shell 中运行它们?也许是usleep?
#include <iostream>
#include <stdlib.h>
#include <ctime>
#include <cerrno>
#include <unistd.h>
#include <chrono>
#include <thread>
int main() {
system("gnome-terminal -x sh -c 'cd; ls; exec bash'");
return 0;
}
【问题讨论】:
-
system()很糟糕,原因有很多(例如安全漏洞、对正在运行的程序缺乏控制等等),忘记它的存在并永远使用它。