system()控制键盘 我在Linux上使用C++。每当我在线程中调用system()时,它就会控制键盘,我无法使用ctrl+c退出程序。我用系统调用调用的程序是一个SSH命令,在主调用程序退出之前,它不应该退出。谢谢

system()控制键盘 我在Linux上使用C++。每当我在线程中调用system()时,它就会控制键盘,我无法使用ctrl+c退出程序。我用系统调用调用的程序是一个SSH命令,在主调用程序退出之前,它不应该退出。谢谢,c++,linux,c++11,C++,Linux,C++11,您可能希望使用该技术将SSH命令作为一个单独的进程启动;然后,从启动过程中,您可以等待孩子完成或杀死它。您还可以通过std::async调用您的SSH命令,并返回一个std::future,其中T可能是void,然后对其执行wait()(或get())。此外,还可以创建一个std::thread并对其调用detach() system()在命令完成之前不会返回,因此如果在其中运行长时间运行的ssh,则system()在命令完成之前不会返回。也许我误解了你在做什么,你能给我们看一些代码来说明你看到

您可能希望使用该技术将SSH命令作为一个单独的进程启动;然后,从启动过程中,您可以等待孩子完成或杀死它。

您还可以通过
std::async
调用您的SSH命令,并返回一个
std::future
,其中T可能是
void
,然后对其执行
wait()
(或
get()
)。此外,还可以创建一个
std::thread
并对其调用
detach()

system()
在命令完成之前不会返回,因此如果在其中运行长时间运行的ssh,则
system()
在命令完成之前不会返回。也许我误解了你在做什么,你能给我们看一些代码来说明你看到的问题吗?