在 C++ 中重复 system() 命令?
Repeat system() command in C++?
在 C++ 中的多个 CMD 上重复一个简单的系统命令的最简单方法是什么?例如,如何从我的 C++ 代码在多个终端 windows 上重复此代码?
system( ("ping "+ ip +" -t -l 32").c_str() );
从网络的角度来看,我认为从多个终端 ping 单个系统不如从多个远程系统 ping 那个系统有效。
无论如何,关于从多个进程 ping 系统的最简单方法...直接使用 shell。类似于:
target=s4
for remotehost in s1 s2 s3; do (ssh -n $remotehost ping $target -t -l 32 & ) ; done
"remotehost" 也不一定真的是远程主机。您可以多次使用 "localhost"(而不是远程主机的多个名称)。
或者,如果您真的想从单个主机使用 C++:
#include <cstdlib>
#include <string>
int main()
{
const std::string ip = "foo";
for (int i = 0; i < 3; ++i)
{
std::system(("ping " + ip + " -t -l 32 & ").c_str());
}
}
请注意 system
函数的输入字符串中与号 (&) 字符的用法。这指示 shell 到 运行 在后台给定的任务。这样 system
returns 立即和 ping 命令基本上 运行s 与命令的其他两个实例同时出现。
希望这有助于回答您的问题。
在 C++ 中的多个 CMD 上重复一个简单的系统命令的最简单方法是什么?例如,如何从我的 C++ 代码在多个终端 windows 上重复此代码?
system( ("ping "+ ip +" -t -l 32").c_str() );
从网络的角度来看,我认为从多个终端 ping 单个系统不如从多个远程系统 ping 那个系统有效。
无论如何,关于从多个进程 ping 系统的最简单方法...直接使用 shell。类似于:
target=s4
for remotehost in s1 s2 s3; do (ssh -n $remotehost ping $target -t -l 32 & ) ; done
"remotehost" 也不一定真的是远程主机。您可以多次使用 "localhost"(而不是远程主机的多个名称)。
或者,如果您真的想从单个主机使用 C++:
#include <cstdlib>
#include <string>
int main()
{
const std::string ip = "foo";
for (int i = 0; i < 3; ++i)
{
std::system(("ping " + ip + " -t -l 32 & ").c_str());
}
}
请注意 system
函数的输入字符串中与号 (&) 字符的用法。这指示 shell 到 运行 在后台给定的任务。这样 system
returns 立即和 ping 命令基本上 运行s 与命令的其他两个实例同时出现。
希望这有助于回答您的问题。