gpt4 book ai didi

c++ - 以 root 身份运行应用程序时如何获得 stdio 输出?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:21 25 4
gpt4 key购买 nike

我正在尝试以 root 身份运行我的应用程序,因为我需要访问计算机上的低级硬件。

当我运行命令时:

./application_name

...它的工作原理,除了给出一个错误,它需要 root。但是,当我运行它时:

sudo ./application_name

...我没有得到终端输出。

我已经测试过,每次我以 root 身份在 Linux 上运行可执行文件时,它都不会向终端打印任何内容。我该如何解决这个问题?

编辑:提供了一些测试用例(手机所以不能输入太多):

sudo g++ test.cpp -o executable
sudo chmod +x executable

这适用于 Debian:

./executable

这不是:

sudo ./executable

测试.cpp:

#include <iostream>

int main() {
std::cout << "Hello World!";
}

最佳答案

这种行为真的很奇怪。该应用程序的根权限应该对标准输出没有影响。例如,我做了一个简单的测试,一个“hello world”,我在 Debian OS 上以 root 身份运行,并且在终端中有输出。

一个简单的测试来说服自己应该有输出,就是重定向到一个文件。例如 sudo ./executable > output.txt 你会发现一切正常。

请注意,如果您没有来自简单的“hello world”的输出,那应该很奇怪。

关于c++ - 以 root 身份运行应用程序时如何获得 stdio 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27663480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com