問題タブ [execvp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - execvp(); でプロセスを実行するときにユーザー環境をロードします。
着信接続でプロセスを生成する可能性のあるデーモンを実行しています。これは、 と を使用して行われexecvp()
ますfork()
。
問題は、プロセスがルートとして実行されるべきではなく、プロセスが正しいユーザー環境に依存していることです。そのため、ユーザー環境をロードする方法を探しています。
現在、プロセスは gid と uid を設定することにより、別のユーザーとして実行されます。私がすでに試したのは as command を使用するsu -l user -c command
ことですが、何らかの理由で機能しませんでした。
$HOME
ユーザー環境(特に変数)をロードする方法を知っている人はいますか?
前もって感謝します。
c++ - このコードの問題は何ですか?
これらの引数で evecvp() を呼び出そうとしています:
次のエラーが表示されます。
型キャストですべての順列を試しましたが、うまくいきません。どうしたの?
c - execvp ファイルパスの明確化
私は C でシェルを書いていますが、execvp(filepath,argv)
.
ユーザーls -a
が現在のディレクトリで実行することを入力した場合...たとえば...そのディレクトリで実行するためのand/home/user1
は何でしょうか?filepath
argv
ls
filepath
コマンドが実行されるディレクトリでしょうか、/home/user1
それともコマンドの場所/bin/ls
でしょうか?
c - C のフォーク、execvp でエラーが発生しましたか?
execvp と fork に問題があります。コードを実行すると、ファイルが作成されても exec が機能しません。「アドレスが正しくありません」というエラーが返されるだけです。また、実行時に printf("in the child") が表示されません。「子で」印刷せずにコードを execvp にするにはどうすればよいですか?
c - Linux C getopt は、指定されていない最初の引数の後に無視します
プログラムに「execvp(argv[1],argv+1);」を実現させたかったのです。最初の引数が未定義の場合、getopt は "-" で始まるすべての引数を解析します。最初の未定義の引数の後のすべての引数を無視するには? これは getopt を使用して可能ですか? 現在、私はコードを持っています:
}
あなたが実行すると、私は得ました:
私はこのようにしたいと思います。
などなど・・・ですが、わかりません。
c++ - 文字列をchar配列ポインタに分割する
ユーザー入力を使用して、引数として execvp に渡します。execvp の引数としてこれを行うと、機能します。
ユーザー入力を上記の配列に分割しようとすると、次のエラーで単語を配列に格納できません: エラー: 代入で std::string {aka std::basic_string} を char に変換できません
c - フォアグラウンドでの Execvp
execvp
仕組みと同じように仕事をするのに苦労してsystem()
います。
コードを使用する場合:
期待どおりに./file
実行され、印刷されますchild->parent
しかし、次のようにプログラムを実行しようとすると:
の出力が得られますが、コマンド プロンプトでchild->parentparent
ファイルに (から生成された) 出力が表示されません。file
ここで何か間違ったことをしていますか?私は基本的file
に、フォアグラウンドで実行し、親が完了するまで待機させようとしています。