0

Cから新しい非対話型シェルプロセスを起動するにはどうすればよいですか?

現在、私は次のものを持っています:

system(cmdStr);
//system("/bin/sh -c");

cmdStrは、実行したいコマンドです。以下にシェルプロセスへの参照があります...しかし、cmdStrを追加するにはどうすればよいですか?新しいプロセスを起動させるにはどうすればよいですか?

4

1 に答える 1

1

文字列を連結したくない場合は、次のようにすることができます。

if (fork())
{
    execl("/bin/sh", "sh", "-c", cmdStr, (char *) NULL);
    exit(EXIT_FAILURE);
}

これがsystem基本的に行うことです。

strcatそれ以外の場合、文字列を連結するには、標準関数とstrncatからを参照する必要がありますstring.h

于 2012-12-15T01:10:55.973 に答える