내 컴퓨터에서 저수준 하드웨어에 액세스해야하기 때문에 루트로 내 응용 프로그램을 실행하려고합니다. 나는 명령을 실행응용 프로그램을 루트로 실행할 때 stdio 출력을 얻으려면 어떻게해야합니까?
: 그것은 뿌리를 필요로하는 오류를 제공 제외
./application_name
를 ... 그것은 작동합니다. 그러나 이것을 실행할 때 :
sudo ./application_name
... 나는 터미널 출력을 얻지 못합니다.
Linux에서 실행 파일을 루트로 실행할 때마다 터미널에 아무 것도 인쇄하지 않는다는 것을 테스트했습니다. 이 문제를 어떻게 해결할 수 있습니까?
편집 : 다소 테스트 케이스 제공의 (모바일 순전히을 입력 할 수 없습니다) :
sudo g++ test.cpp -o executable
sudo chmod +x executable
이 데비안에서 작동 :
./executable
이되지 않습니다
sudo ./executable
test.cpp :
#include <iostream>
int main() {
std::cout << "Hello World!";
}
닫기 유권자 :이 주제는 아니지만 주제에 대한 이유는 무엇입니까? 두 가지 모두 코드 실행에 관한 것입니다. http://stackoverflow.com/questions/817060/creating-executable-files-in-linux –
그 질문은 ** 5 살 **이며 게시 지침이 상당히 게시 된 시점에 게시되었습니다. 다른. 아주 오래된 질문의 존재가 유사한 질문을 게시하는 것이 괜찮음을 의미하지는 않습니다. –
분명히 그것이 응용 프로그램이 작동하는 방법입니다. 일부 응용 프로그램은 출력을 생성하지 않습니다 (예 :'/ bin/true'). 우리는 응용 프로그램에 대해 전혀 모르기 때문에 출력이 나오지 않는 이유를 알아낼 수 없습니다. 'sudo echo hello'를 시도하십시오; 'hello'를 출력해야합니다. –