問題タブ [exec]
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 - Cでfork()、pipe()、dup2()、exec()に問題がある
これが私のコードです:
(コードは、以下の2つの回答によって提案された変更を反映するように更新されましたが、それでも正常に機能しません...)
これが失敗するテストケースは次のとおりです。
問題は、その後シェルに戻る必要があることです。「シェル>」がさらに入力を待っているのが見えるはずです。また、「[4804] TERMINATED(Status:0)」(ただし、pidが異なる)のようなメッセージが表示されないことにも気付くでしょう。これは、2番目のプロセスが終了しなかったことを意味します。
これは機能するため、grepと関係があると思います。
2つの「終了」メッセージを簡単に確認できます...
だから、私のコードの何が問題になっていますか?
java - Javaプログラムから完全に独立したプロセスを起動するにはどうすればよいですか?
私はJavaで書かれたプログラムに取り組んでおり、一部のアクションでは、ユーザーが構成したコマンドラインを使用して外部プログラムを起動します。現在Runtime.exec()
、参照を使用して保持していませんProcess
(起動されたプログラムは、テキストエディタまたはアーカイブユーティリティのいずれかであるため、システムのin / out / errストリームは必要ありません)。
ただし、これには小さな問題があります。Javaプログラムが終了すると、起動されたすべてのプログラムが終了するまで実際には終了しません。
起動されたプログラムが、それらを起動したJVMから完全に独立している場合は、これを強くお勧めします。
ターゲットオペレーティングシステムは複数あり、Windows、Linux、Macが最小ですが、JVMを備えたGUIシステムが本当に望まれます(したがって、実際のコマンドラインのユーザー構成可能性)。
起動したプログラムをJVMから完全に独立して実行する方法を知っている人はいますか?
コメントに応じて編集する
起動コードは次のとおりです。コードは、特定の行と列に配置されたエディターを起動する場合もあれば、アーカイブビューアーを起動する場合もあります。構成されたコマンドラインで引用符で囲まれた値は、ECMA-262でエンコードされたものとして扱われ、デコードされて引用符が削除され、目的のexecパラメーターが形成されます。
起動はEDTで行われます。
これは、プログラムが私のIDEから起動されたときにのみ発生しているようです。問題は私の開発環境にのみ存在するため、この質問を閉じます。本番環境では問題ありません。回答の1つにあるテストプログラムと、私が実施したさらなるテストから、どのプラットフォームのプログラムのどのユーザーにも見られる問題ではないことに満足しています。
php - PHP exec コマンドを使用してバッチ ファイルを実行する際の問題
RTFファイルを取得し、OpenOfficeマクロを使用してPDFに変換するバッチファイルをPHPに呼び出させようとしています。コマンド ラインでバッチ ファイルをテストしたところ、正常に動作しましたが、PHP から同じバッチ ファイルを呼び出して使用することができませんでした。
私のマシンの OS は XP Professional SP 3 です。IIS 6 と PHP バージョン 5.2.9 を実行しています。c:\windows\system32\cmd.exe でインターネット ユーザーに実行権限を付与しました。実行中のバッチファイルのフルパスと、変換するRTFファイルのフルパスを指定しました。
PHP は次のようになります。$arg は変換する RTF です。
次に、try-catch 内で exec コマンドを呼び出します。
キャッチ後に結果をエコーします。
そして、これは私が見るものです:
RTF ファイルが変換されず、エラーが表示されません。次に試すことができるアイデアはありますか?ありがとう!!!
c - C でのこの複数のパイプ コードは理にかなっていますか?
私はこれについて数日かけて質問を作成しました。私の解決策は、受け入れられた回答で提案されたものです。しかし、私の友人は次の解決策を思いついた:
以下の回答の提案を反映するために、コードが数回更新されていることに注意してください (編集リビジョンを確認してください)。新しい回答をする場合は、問題の多い古いコードではなく、この新しいコードを念頭に置いてください。
これは、bash のようにパイプを介して一連のコマンドをシミュレートします。たとえば、次のようになります。cmd2 | ... | cmd_n. ご覧のとおり、コマンドは実際には引数から読み取られるため、「シミュレート」と言います。簡単なシェルプロンプトをコーディングする時間を割くために...
もちろん、エラー処理のように修正したり追加したりする問題がいくつかありますが、それはここでのポイントではありません。コードはある程度理解できたと思いますが、それでも、この全体がどのように機能するかについて多くの混乱を招きます。
私は何かが欠けているのでしょうか、それともこれは本当にうまくいき、問題を解決するためのきれいできれいな解決策ですか? そうでない場合、誰かがこのコードの重大な問題を指摘できますか?
vim - Vi(m)で編集しているファイルの実行方法
Vi(m)で編集しているファイルを実行し、分割ウィンドウ(SciTEのように)で出力を取得するにはどうすればよいですか?
もちろん、私はそれを次のように実行することができます:
しかし、スクリプト名と、画面の下部ではなく分割ウィンドウで出力を取得する方法を記述しないようにすることは可能ですか?
perl - 別のスクリプトを繰り返し呼び出すにはどうすればよいですか?
ディレクトリ全体を読み取る別のスクリプトを呼び出す Perl スクリプトを作成しようとしています。エラーは発生しませんが、期待される結果も得られません。画面に何も映りません。
画面に何も出力する必要はありません。exec()
ステートメントで呼び出しているスクリプトは、各画像ファイルをDIR
ディレクトリに読み込み、その画像から抽出されたデータを格納するファイルを作成する必要があります。ステートメント内のスクリプトはexec()
、ディレクトリ内のすべての画像が読み込まれるまでループする必要があります。
php - ユーザーが挿入した変数を使用してexecコマンドをサニタイズするための最良の方法
私は、会社が使用している恐ろしいソフトウェアにWebインターフェイスをコーディングしています。このソフトウェアには実際のUIがなく、クライアントがデータをプルするために、システムへのパテアクセスを提供する必要があります。私のWebインターフェースはexec();
関数を実行する必要があり、ユーザーが入力するいくつかの変数を渡す必要があります。
今では、変数からセミコロンを削除して$command
安全である可能性があると思いますが、確信が持てないため、来月公開する前にここでポーズをとっています。
消毒するための最良の方法は何でしょう$command
か?変数に含める必要のある特別な文字がいくつかあります [ ] < > ! # $
。
ruby - Ruby: 任意のメソッドのコードを表示 (およびコンテキストで実行)
次のようなことをしたいと思います。
print_method と foo.exec をどのようにコーディングしますか? できれば、それらは、たまたまどこから定義またはソースされたのかをアプリオリに知らなくても、任意のメソッドに対して機能する必要があります。
- はい、メソッドとブロックが完全に同じではないことはわかっています。しかし、これは通常の yield と call に近いものです。私はより良い解決策を知りません。