0

我正在使用cmd.

我想知道是否可以cmd在运行时分配另一个。

我想使用cmd来测量进程使用的时间,如果时间超过时间限制,则终止它。

4

2 回答 2

0

由于这进展不快,我将给出一个标准的在 n 毫秒后退出的方式。它可以很容易地更改为任何时间单位,只需将其设为模板函子(请参阅sleep_for我的意思的声明)并为其提供std::chrono单位。

int main() {
   std::thread waiter([](unsigned long long milliseconds) {
      std::this_thread::sleep_for(std::chrono::milliseconds(milliseconds));
      std::exit(0);
   }, 5000);

   int i{};
   while (1) {
      std::this_thread::sleep_for(std::chrono::seconds(1));
      std::cout << i++ << '\n';
   }
}

首先,我使用一个接受毫秒数的过程创建一个线程,并通过传递 5000 毫秒来启动它。我输入参数是为了便于转换到上述函子。它休眠了那么久,然后退出程序。同时,主线程每秒只输出一个计数。

有关演示,请参见此处。这是输出:

0
1
2
3

于 2013-01-31T01:59:20.437 回答
0

要启动新的 cmd 窗口,您可以执行以下操作:

cmd.exe /c yourprogram.exe

你也可以使用

start yourprogram.exe

两者都将创建一个新的 cmd.exe 并运行您的程序。如果您的程序是控制台应用程序,第二个(启动)将创建 cmd,否则它将只运行它。

于 2013-01-31T01:33:38.820 回答