問題タブ [execl]
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 - execl() は私のコードの 1 つで動作しますが、別のコードでは動作しません
私はすでにexecl()
コードで使用しており、うまく機能しました。
しかし、今回は、なぜうまくいかないのか本当にわかりません。
だからここに動作しないコードがあります
そして、ここに admin.c があります
もちろん、admin.c を admin にコンパイルしました。パスは間違っていません。
なぜそれがうまくいかないのか誰にも分かりますか?
java - execl() で jar を起動できません
送信前にファイルを準備するために使用されるdecrypt.jar
andファイルが与えられました。encrypt.jar
ターミナルを起動して次のように入力すると:
出力が得られます:
どちらでもOK!瓶は機能します。私のコードでは、execl() で jar を起動すると、次の出力が得られます。
ここでの問題は、Java が実際には jar へのパスであるクラスを起動しようとしたことに注意してください (パスは util/decrypt.jar であり、それをクラス util.decrypt.jar として実行しました)。
私のコード:
jar 内のマニフェストは正しいです (Eclipse によって生成されました)。
追加:
パスをjarの絶対パスに変更しようとしても、問題は解決しませんでした。
ps - Execlp は No such file or directory と言う
私はps -A
コードでやろうとしていますが、execlp("/bin/ps", "ps", "-A", NULL);
出力を入力しています:
/bin/ps: No such file or directory
しかし、ファイルディレクトリに ps が表示されるので、何が問題なのかわかりません。
c++ - execl() で grep を使用する
私のプロジェクトのちょっとした背景: ファイルごとに個別のプロセスが必要な任意の数のファイルがあり、特定の KEY が使用されるたびに exec() 呼び出しを使用して検索する必要があります。次のコマンドを使用して、コマンド ラインから grep を使用する方法を知っています。
しかし、C ++でこれを行う方法がわかりません。ここで、この行を提供するスレッドを見つけました。
コンパイルして実行されるので動作すると思いますが、問題はパターンが発生した回数をファイルに出力する必要があることです。このエラー「grep: out.txt: No such file or directory」が表示されました
これが私のプロジェクトのこの部分の方向性です。
これを行うには、システム コール exec() を使用して、シェルの実行可能ファイルへのパス (通常は /bin/sh ) と、 /bin/sh の引数として文字列 -c と文字列検索コマンド ( grep -o ... ) に対応します。
ここでいくつかのガイダンスをいただければ幸いです。
c - Cのポインタと子プロセスの問題
このコードが実行されるたびに、子プロセスの引数として 0 と null が渡されます。ポインターと関係があることは知っていますが、配列にデータを入力して引数を渡すことができないようです。私はそれをあまりにも長く見てきました。誰かがばかげた間違いを見つけてくれることを願っています。
c++ - 非 const char[] で execl を呼び出す
でキーボードからコマンドを取得していて、でvector<string>
使用したいのですexecl()
が、execl() はconst char *
. execl
パラメータを受け取る I can use に似た別の関数はありますか、またはmy でchar*
どのように呼び出すことができますか?execl
char*
c - Linux Cでargv []のパラメータを使用して子プロセスを生成する方法
私が書いた他のいくつかの C プログラムを認識し、その C プログラムの新しいプロセスを生成して実行するプログラム msh を作成したいと考えています。
たとえば、mycopy、myremove、および mymove という独自のコピー、移動、および削除関数を既に作成しています。
./msh mycopy file1 file2 を実行して、msh に新しいプロセスを生成させ、mycopy を実行してアクションを実行し、その子プロセスが終了するのを待ってから終了できるようにしたいと考えています。
以下に示すものを試してみましたが、コンパイルはできますが、実際にはタスクを実行していないようです。助言がありますか?以前に fork()、execl()、または wait() を使用したことがないため、インクルードまたはパラメーターを見逃している可能性があります。間違っている場合は修正してください。
私はこれを試してみて、3回印刷しました。それは私のexeclコマンドが壊れていることを意味しますか?もしそうなら、argv[2]とargv[3]を./mycopyに渡す必要があるため、どうすれば修正できますか?
c - C で execl を使用できません
この execl コマンドを C プログラムで実行しようとしていますが、うまくいきません。
インターネットで見つけたいくつかの検証例も試してみましたが、それらも機能しません。(私はいつも同じエラーが発生しています)
ありがとうございます。