タグ付けされた質問 「exec」

このタグは、別の補助プログラムの開始を示します。他のプラットフォームにも同様の概念が存在しますが、特に別のプロセスの起動と組み合わせた場合、名前は「exec」で始まるPOSIXシステムコールのファミリーに由来します(特に「execve」)。

3
eval、exec、compileの違いは何ですか?
私はPythonコードの動的評価を検討しており、eval()およびcompile()関数とexecステートメントに出くわしました。 evalとの違い、およびexecさまざまなモードがどのようにcompile()適合するかを誰かが説明できますか?
428 python  dynamic  eval  exec 

3
Ruby、exec、system、%x()またはBackticksの違い
次のRubyメソッドの違いは何ですか? exec、systemおよび%x()またはバッククォート Rubyを介してプログラムで端末コマンドを実行するために使用されることは知っていますが、これを行うには3つの異なる方法がある理由を知りたいのです。
370 ruby  exec 


4
PHP shell_exec()とexec()
私は違いを理解するのに苦労していますshell_exec()とexec()... 私はいつもexec()サーバー側のコマンドを実行するために使用してきましたが、いつ使用しますshell_exec()か? のshell_exec()省略形exec()ですか?パラメータが少ない同じことのようです。
345 php  shell  command  exec 

5
PHP exec()とsystem()とpassthru()
違いは何ですか? 各機能に特定の状況や理由はありますか?はいの場合、それらの状況の例をいくつか挙げていただけますか? PHP.netによると、これらは外部プログラムの実行に使用されます。参考資料 を見る私が見た例から、明らかな違いは見られません。 単純にスクリプト(bashまたはpython)を実行する場合、どの関数を使用することをお勧めしますか?
312 php  command  exec 


10
find:-execの引数がありません
今日はコマンドで助けられましたが、動作していないようです。これはコマンドです: find /home/me/download/ -type f -name "*.rm" -exec ffmpeg -i {} -sameq {}.mp3 && rm {}\; シェルが戻る find: missing argument to `-exec' 基本的に私がやろうとしていることは、ディレクトリに再帰的に(他のディレクトリがある場合)実行し、.rmファイルタイプに対してffmpegコマンドを実行して、ファイルタイプに変換すること.mp3です。これが完了したら、.rm変換されたばかりのファイルを削除します。 私はこれについての助けに感謝します。
206 bash  shell  find  arguments  exec 


5
fork()、vfork()、exec()およびclone()の違い
私はGoogleでこれら4つの違いを見つけようとしていたので、これについては膨大な量の情報があると予想していましたが、4つの呼び出しの間に明確な比較はありませんでした。 私は、これらのシステムコールの違いを一目で確認できるような種類のコンパイルを試みることに着手しました。これが私が得たものです。この情報はすべて正しいですか/重要な情報が欠けていますか? Fork :fork呼び出しは基本的に現在のプロセスの複製を作成し、ほぼすべての点で同一です(たとえば、一部の実装ではリソースの制限がすべてコピーされるわけではありませんが、できるだけ近いコピーを作成するという考えです)。 新しいプロセス(子)は別のプロセスID(PID)を取得し、古いプロセス(親)のPIDをその親PID(PPID)として持ちます。2つのプロセスがまったく同じコードを実行しているので、フォークの戻りコードによってどちらがどちらであるかがわかります。子は0を取得し、親は子のPIDを取得します。もちろん、これはすべてfork呼び出しが機能することを前提としています。機能しない場合、子は作成されず、親はエラーコードを受け取ります。 Vfork:vforkとforkの基本的な違いは、vfork()で新しいプロセスが作成されると、親プロセスが一時的に中断され、子プロセスが親のアドレス空間を借用する可能性があることです。この奇妙な状況は、子プロセスが終了するか、execve()を呼び出すまで続き、その時点で親プロセスは続行します。 つまり、vfork()の子プロセスは、親プロセスの変数を予期せず変更しないように注意する必要があります。特に、子プロセスはvfork()呼び出しを含む関数から戻ってはならず、exit()を呼び出してはなりません(終了する必要がある場合は、_exit()を使用する必要があります);実際、これは子にも当てはまります。通常のfork()の場合)。 Exec :exec呼び出しは、基本的に現在のプロセス全体を新しいプログラムに置き換える方法です。プログラムを現在のプロセス空間にロードし、エントリポイントから実行します。exec()は、現在のプロセスを、関数が指す実行可能ファイルで置き換えます。exec()エラーがない限り、制御が元のプログラムに戻ることはありません。 Clone :クローンは、フォークとして、新しいプロセスを作成します。forkとは異なり、これらの呼び出しにより、子プロセスは、メモリスペース、ファイル記述子のテーブル、シグナルハンドラーのテーブルなど、その実行コンテキストの一部を呼び出しプロセスと共有できます。 子プロセスがcloneで作成されると、関数アプリケーションfn(arg)が実行されます。(これは、元のfork呼び出しのポイントから子で実行が継続されるforkとは異なります。)fn引数は、実行の開始時に子プロセスによって呼び出される関数へのポインターです。arg引数はfn関数に渡されます。 fn(arg)関数アプリケーションが戻ると、子プロセスは終了します。fnによって返される整数は、子プロセスの終了コードです。子プロセスは、exit(2)を呼び出すことによって、または致命的なシグナルを受信した後で、明示的に終了することもできます。 取得した情報: forkとexecの違い http://www.allinterview.com/showanswers/59616.html http://www.unixguide.net/unix/programming/1.1.2.shtml http://linux.about.com/library/cmd/blcmdl2_clone.htm これを読むために時間を割いてくれてありがとう!:)
197 linux  process  fork  exec  clone 

12
node.jsはシステムコマンドを同期的に実行します
node.js関数に必要 result = execSync('node -v'); これは、指定されたコマンドラインを同期的に実行し、そのコマンドテキストで標準出力されたものをすべて返します。 ps。同期が間違っています。知っている。個人使用のみ。 更新 これで、終了コードを提供するが標準出力を提供しないmgutzのソリューションができました!より正確な答えを待っています。 更新 mgutzが彼の答えを更新し、解決策はここにあります:) また、dgo.aが言及したように、スタンドアロンモジュールexec-syncがあります アップデート2014-07-30 ShellJS libが到着しました。これが今のところ最良の選択だと考えてください。 更新2015-02-10 やっと!NodeJS 0.12はexecSyncネイティブでサポートしています。 公式ドキュメントを見る


8
PHPからPythonスクリプトを実行する
次のコマンドを使用して、PHPからPythonスクリプトを実行しようとしています。 exec('/usr/bin/python2.7 /srv/http/assets/py/switch.py arg1 arg2'); ただし、PHPは出力を生成しません。エラー報告はE_ALLに設定され、display_errorsはオンです。 これが私が試したものです: 私が使用されpython2、/usr/bin/python2そしてpython2.7代わりに/usr/bin/python2.7 また、絶対パスの代わりに相対パスを使用したため、何も変更されませんでした。 私は、コマンドを使用してみましたexec、shell_exec、system。 ただし、実行すると if (exec('echo TEST') == 'TEST') { echo 'exec works!'; } shutdown now何もしなくても完璧に機能します。 PHPには、ファイルにアクセスして実行する権限があります。 編集:アレハンドロのおかげで、問題を解決することができました。同じ問題が発生する場合は、Webサーバーがrootとして実行されていない可能性があることをお忘れなく。ウェブサーバーのユーザーまたは同様の権限を持つユーザーとしてログインして、自分でコマンドを実行してみてください。
114 php  python  linux  exec  archlinux 

4
パイプをRuntime.exec()で動作させる方法は?
次のコードを検討してください。 String commandf = "ls /etc | grep release"; try { // Execute the command and wait for it to complete Process child = Runtime.getRuntime().exec(commandf); child.waitFor(); // Print the first 16 bytes of its output InputStream i = child.getInputStream(); byte[] b = new byte[16]; i.read(b, 0, b.length); System.out.println(new String(b)); } …
104 java  exec  runtime.exec 

13
Vi(m)で編集しているファイルを実行する方法
Vi(m)で編集しているファイルを実行し、(SciTEのように)分割ウィンドウで出力を取得する方法は? もちろん、そのように実行できます。 :!scriptname しかし、スクリプト名の記述を避け、画面のすぐ下ではなく分割ウィンドウで出力を取得する方法はありますか?
101 vim  exec 

5
find -exec mv {} ./target/ +が機能しないのはなぜですか?
私は正確に何を知りたい{} \;と{} \+して| xargs ...ください。これらを説明で明確にしてください。 以下の3つのコマンドは同じ結果を実行して出力しますが、最初のコマンドは少し時間がかかり、形式も少し異なります。 find . -type f -exec file {} \; find . -type f -exec file {} \+ find . -type f | xargs file それは、最初のコマンドがコマンドfileから来るすべてのファイルに対してコマンドを実行するためですfind。したがって、基本的には次のように実行されます。 file file1.txt file file2.txt しかし、後者の2つのfind -execコマンドは、以下のようなすべてのファイルに対してfile commandを1回実行します。 file file1.txt file2.txt 次に、次のコマンドを実行します。最初のコマンドは問題なく実行されますが、2番目のコマンドはエラーメッセージを表示します。 find . -type f -iname '*.cpp' -exec mv {} …
98 linux  find  cygwin  exec 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.