CソースコードでLinuxコマンドを使いたい。
この機能は使えSystem()
ますか?これはLinuxで可能ですか?
System()関数を使用できない場合はどうすればよいですか?「tarxvfexample.tar」したい。
使用system()
できるexec()
機能
シェル コマンドを実行するだけで戻り値を探したくない場合は、system() 関数呼び出しを使用できます。
システム コールの使用はお勧めできません (システムのマニュアル ページを参照してください)。fork() を実行した後に子プロセスで呼び出される exec() を使用することをお勧めします。
次の代替手段は popen() を使用することです。
piff = (FILE *)popen("ls -l", "r");
if (piff == (FILE *)0)
return (-1);
while ((i = read(fileno(piff), buff, sizeof (buf))) == -1) {
if (errno != EINTR) {
break;
}
(void)pclose(piff);