このコマンドを実行するための最良の方法は何ですか:私のCプログラム内で「sudocat /var/log/auth.log | grepAccepted」?私は使用しようとしました:
sprintf(command_result,"sudo cat /var/log/auth.log | grep Accepted");
しかし、それは明らかに機能しませんでした。
このコマンドを実行するための最良の方法は何ですか:私のCプログラム内で「sudocat /var/log/auth.log | grepAccepted」?私は使用しようとしました:
sprintf(command_result,"sudo cat /var/log/auth.log | grep Accepted");
しかし、それは明らかに機能しませんでした。
少なくともsprintf()
必要なコマンドを実行することはできませんsystem()
修理:
sprintf(command_result, "sudo cat /var/log/auth.log | grep Accepted");
system(command_result);
パイプでコマンドを実行できます
FILE *fp;
fp=popen(command_result,"r");
次に、または...fp
を使用してファイルから読み取るのと同じように、パイプからコマンド出力を読み取ることができます。fgets()
fread()
ところで、sudoコマンドでパスワードが必要な場合はsudoコマンドを実行できません