問題タブ [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.
shell - 子プロセスから system() または execvp() を介して cd シェル コマンドを呼び出しても機能しないのはなぜですか?
chdir() を使用することになっていることは理解していますが、子プロセスからシステムまたは execvp() を介して cd シェル コマンドを呼び出すことが機能しない理由について説明が必要ですか? ありがとう!!
c - fork/execvp コントロールが親に戻らない後
以下のコードを実行し、プロンプトで「ls」と入力すると、ターミナルで ls が実行されますが、そこに座ってプロンプトが再度表示されません。親プロセスに戻るための制御を取得するにはどうすればよいですか?
ありがとう
c++ - execvp() に問題がある
だからここに私に問題を与えている私のコードのビットがあります:
main() メソッドで、私のコードは forks() (親プロセスは子が終了するのを待機する) のポイントに到達し、子プロセス (プロセス ID == 0 はい?) は、ユーザーでメソッド childProcessHandler を呼び出します。入力 (実行するコマンド + 引数) を引数として使用します。次に、ユーザー入力をトークン化し、execvp を呼び出します。
すべてがコンパイルされ、実行されます。execvp はエラーが発生した場合にのみ戻るため、execvp の後の行には到達しません。
プロジェクトはUNIX端末をシミュレートすることですが、コマンド「日付」を指定すると、何も出力されません...子が終了し、親プロセスは正常に再開しますが、端末ウィンドウには何も送信されません...
私は何を間違っていますか?
(また、strtokを使用してトークン化することを「推奨」されましたが、もっと簡単なものがあれば、私は意見を受け入れます。)
ありがとう!
編集
たとえば、「date」の代わりに「date」と入力すると、上記のコードが機能します。childArgs[]配列の最後にnull文字を入れない「トークナイザー」には、何か怪しいものがあるのではないかと思います。私はそれで遊んでみます。素早い回答に感謝します!
(Ninja編集、delete[] tempも一応コメントアウト)
c - exec()Cの任意のコマンド
execvp()
Cで言うと、任意の文字列コマンドを呼び出したいと思います。コマンドは次のようになります。
このコマンド変数をの中に入れたいですexecvp()
。したがって、exec()
フレーバー関数は、任意の種類の任意のコマンドで実行できます。
どうやってやるの?ありがとう。
注:system()
許可されていません。
c++ - フォークされた子プロセスが CPU アフィニティを継承しないようにするにはどうすればよいですか?
多くの子プロセスをフォークするサーバー プロセスがあります。サーバー プロセスには CPU コアへのアフィニティがありますが、そのアフィニティを子プロセスに継承させたくありません (むしろ、OS がこれらのプロセスを実行する場所を処理する必要があります)。CPUアフィニティに関して親子プロセスのリンクを解除する方法はありますか?
c - 実行されたアプリケーションからstdoutを取得する
execvp
システムがターミナルで出力(Linuxの場合はc)を印刷する代わりに、出力(stdoutだと思います)をキャッチする方法を知っている人はいますか?
c - execvpの引数配列を処理しますか?
execvp
たとえばexecvp(echo, b)
、bがコマンドaの引数の配列である場合、この配列を後で変更すると、以前に行われたexecvp呼び出しに影響しますか?execp(echo、b)を呼び出そうとすると、b内のコンテンツではなく出力(null)になってしまいます。引数を正しく渡すためになぜそして何をしなければならないのか誰かが指摘できますか?
c - C-ユーザー入力でexecvpを使用する
私は現在、CプログラムにユーザーからのUnix引数を読み取らせようとしています。私はこれまでこのサイトを検索しましたが、私が間違っていることを正確に理解することはできませんでした-確かに私のポインター実装スキルはかなり限られています。
以下は私が今どのようにコードを持っているかです。私は運が悪かったのでポインタをいじり回してきました。エラーは、const * charを使用する必要があることも示していますが、他の例では、ユーザーが*charを入力できることを確認しました。
私が得るエラーは次のとおりです。
誰かが問題が何であるか知っていますか?
macos - パスにスペースを含むexecvp
最初のパラメータ「/Library/ApplicationSupport/myapp/myapp.app」を指定してexecvp()を呼び出すcppファイルがあります。
動作しません。スペースの前に「\」を追加してみました。
どうすればこれを機能させることができますか?
ありがとう