execve 関数の利用例2019年02月15日 14時50分33秒

exec システム関数の中のの真打ち execve。パスを指定し、新しいプログラムに渡す引数を配列で渡す。配列の最後の要素の NULL は忘れないように。execle と同じように環境変数を渡す。この関数があれば他の exec 関数は派生として記述できる。
% cat  execve.c
#include <unistd.h>

int main()
{
    char* argv[] = { "sort", "-u", NULL };
    char* env[] = { "TMPDIR=/tmp", NULL };
    execve( "/usr/bin/sort", argv, env );
    return -1;
}
% cc execve.c 
% ./a.out 
a
c
b
^D
a
b
c
%
環境変数 TMPDIR を用いる sort に更に -u オプションを渡して例とした。

前回次回

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2019/02/15/9036413/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。