1
這是我的程序,它似乎沒有工作。有時我認爲它與\0
或\r
而不是\n
一起工作,但我想這是因爲我已經在運行此程序的終端上執行了sudo命令,所以它沒有提示我輸入密碼。試圖通過STDIN直接傳遞sudo密碼
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
FILE* pipe = popen("sudo -S ls", "w");
pwrite(pipe,"mypass\n");
pclose(pipe);
return 0;
}
我哪裏錯了?我該如何解決它?謝謝。
我想'sudo'測試它是否在TTY上運行,否則將拒絕工作。 – 2013-05-02 18:36:30
您可以瞭解當前進程是否以root用戶身份運行,如果不提示_user_使用'sudo'而不是這個。 – Nick 2013-05-02 18:50:48
感謝@KerrekSB和Nick,給出了一些建議。真的很感激它。設法找到解決辦法,下面回答。 – 2013-05-02 18:53:49