システム()文字列パラメータを受信し、コマンドの実行とみなし
例えば:
ディスクDの内容を印刷する:システム(「DIRのD」)
Linuxでは、エディタを起動するためのシステム(「geditの」)
システムは、Mac上のテキストを読むために(「『行の終わり』を言います」)
II。ELEC()システムコールを使用します
プロセスが成功したときELEC関数は、関数呼び出しをunistd.hヘッダファイルに配置され、システムは、プログラム呼び出しを実行するために、現在のプログラムの実行を停止します。
elecl()=パラメータリスト
elecle()= +環境変数パラメータリスト
eleclp()= PATH検索パラメータリスト+
elecv()=パラメータ配列
elecve()= +環境変数パラメータ配列
elecvp()= +検索パラメータアレイPATH
ELECを使用する場合は()関数は、NULLが引数リストを終了し使用する必要があります
getenv()関数を使用することができる環境変数を読み込み、
3つの変数が.errno
errno変数はグローバル変数で定義されているERRNO.H
EXEC()関数呼び出しは-1を返しますエラー、システムエラーを再びエラーコードにはerrno変数を呼び出し中
errnoにコードの標準誤差:
EPERM = 1つの操作は許可されていません
ENOENT = 2いいえそのようなファイルまたはディレクトリ
プロセスがないESRCH = 3であります
プット(strerrot(エラー番号));
IV。フォーク()クローニングプロセスを使用します
現在のプロセスをコピーするフォーク()関数を使用します
成功した実行のexec()の後、元のプログラムサイクルの実現を容易にするため、現在のプロセスをコピーして、Execは、子プロセスを作成し実行するためにfork関数を使用して、親プロセスが現在のプロセスに置き換えられます
どのように使用するには:
pid_t PID =フォーク()
フォークは、子供が0を返すように整数を返し、親プロセスは正数を返し、親は子プロセスの識別子を受信します
pid_t関数は、プロセス識別子を記憶するために使用されます
フォーク()+のexec()を組み合わせ、既存のソフトウェアをより有効に活用するだけでなく、プログラムのパフォーマンスを向上させるためだけではなく、別のプロセスを作成して実行し、使用してください。