2012-03-03 17 views
4

実行可能ファイルを起動するために私のCコードでexecvを呼び出していますが、作業ディレクトリをカスタムに設定したいとします。execで始まるプロセスのカスタム作業ディレクトリを設定する

例えば、あるケースでは、lsを起動していますが、元のプログラムのディレクトリにファイルがリストされています。しかし、私は何かをカスタムディレクトリに設定したい。私はどのように達成するでしょうか、私はそれを/usr/binに設定し、lsはそのdirのファイルをリストします。 lsの具体的な解決策を私に与えないでください。それは単なる例でした。 execing前に成功したfork(2)

答えて

14

使用chdir(2)、:

switch (fork()) { 
case 0: 
    chdir(newpath); 
    execvp(...); 
    break;    
} 
+0

シンプルで効果的。これはまさに私が探していたものでした。それは働いた、ありがとう! –

+0

@canpoyrazoğluエラーチェックをするのを忘れないでください。 – cnicutar

関連する問題