【发布时间】:2020-08-16 19:03:38
【问题描述】:
while(variable > 0){
updatevariable(); //variable gets updated from UDP serevr.
// i want to execute a shell command here without blocking current execution.
}
我尝试使用 system() 函数,但它阻止了当前执行,如果条件不满足,我应该能够停止 shell 命令,并且不应该等到 shell 命令完成执行。 (我正在使用的 shell 命令是 rtl_fm 并且在我们手动停止它之前它不会停止执行)。我正在专门为 linux OS 编写这段代码。 而且我确切地知道变量低于0的时间。有什么办法可以在一段时间内执行shell命令?
还没有尝试过进程,线程。 PS:这是我在这个平台上的第一个问题。
【问题讨论】:
-
你想要fork-exec
-
谢谢。创建了一个子进程并使用了 execvp(),我可以完全按照我的意愿去做。