将execv在前台或后台运行
Will execv run this in the foreground or background?
我的程序中有这个:
execv (programname, (char **)argv);
我不确定命令是否被正确执行。我怎样才能知道呢?这是在后台运行吗?
我强烈建议你找一本与你要做的任务相关的书。如果你在每一步都问一个关于SO的新问题,这将是一条很长的路。我们乐于助人,但有时书本更好。
Advanced UNIX Programming是一个很好的例子,它包含了一个完整的shell示例,包括管道。实际上,示例程序可以免费下载(但我还是建议您购买本书的副本)。
由于execv替换了当前进程,因此该命令将在与父进程相同的状态下运行。
知道命令是否被执行的一种方法是,如果可能的话,让命令在控制台上打印一些东西。
我相信execv()应该用"programname"覆盖当前进程。如果你想在一个单独的进程中运行一个程序,你想要fork()或system()——我不认为后者是"标准的",但它似乎是相当普遍的。
来自execv的手册页。
返回值如果任何exec()函数返回,则会发生错误。返回值为-1,errno将被设置为表示错误。
所以,如果你得到一个返回值,说明出了问题
相关文章:
- 为什么我的线程不在后台运行?
- 是否有可能让 c++ dll 在后台运行 python 程序并让它填充向量图?如果是这样,如何?
- Bash run 命令在子壳的后台运行
- 如何在后台运行QProcess?
- 如何在程序后台运行函数(特别是自动保存函数)?QT / C++
- 如何重定向 stderr 并使用 popen() 在后台运行
- 如何使用相同的可执行文件在后台运行 3 个 QProcess
- Dictach std ::线程在后台运行
- 为什么当应用在后台运行时,本机线程的行为会有所不同
- 如何使用C ++在后台运行软件而不显示任何窗口
- 使用提升多线程在后台运行函数
- 在后台运行应用程序并捕获传入和传出消息
- 什么可能导致我的 C++ win32 应用程序在后台运行
- 如何使我的控制台C++程序在后台运行
- 在 C 语言的后台运行进程
- 在 C 语言的后台运行线程
- 如何防止Win32应用程序在主窗口关闭后在后台运行
- 当应用程序在后台运行时,如何弹出QMessageBox
- 在后台运行带有接口的matlab
- 在c++ /C中后台运行周期性循环