問題タブ [external-process]

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.

0 投票する
1 に答える
396 参照

wpf - ブラウザからSilverlight4への外部アプリケーションを起動するWPFアプリケーションの移植/書き込み

WPFは、外部exeを呼び出して待機する特定のメソッドを起動し、外部exeの出力であるファイルにアクセスします。後でSilverlight4への移植を考慮してこのアプリケーションを構築すると仮定すると、どうすればよいですか?

0 投票する
1 に答える
151 参照

winforms - フォームコントロールの情報を外部から取得する必要があります

外部プログラムからフォームを読み取り、フォームのコントロールに関する情報を取得する方法を教えてくれるチュートリアルやガイドはありますか?現在、フォームへのハンドルを取得でき、クラス名を取得できますが、永続的な名前や含まれているデータなど、より多くの情報を取得する必要があります。ありがとう。

編集:

含まれているデータを(WM_GETTEXTメッセージを使用して)読み取る方法がありますが、インスタンスごとに変更されないことを確認できる永続的な名前/IDが必要です。これを行うために私が考えることができる1つの方法は、ハンドルを取得し、ウィンドウ上のコントロールの位置を見つけて、それ以降の位置からハンドルを取得することです。もう1つの方法は、コントロールの静的IDを決定し、それを使用してそれ以降のハンドルを取得することです。私の問題の新しい範囲は、これらのいずれかを実装する方法です。何か案は?

0 投票する
2 に答える
1118 参照

symbian - J2ME API を使用して Nokia 電話用の J2ME アプリケーション内で Symbian C++ アプリケーションをトリガーする方法は?

J2ME API 呼び出しを使用して Symbian C++ アプリケーションをトリガーする方法を知っている人はいますか? Symbian C++ でカスタマイズされた写真撮影アプリケーションを必要とする J2ME アプリケーションがあります。2 つのアプリケーションに分割する理由は、J2ME にはヒープ サイズに制限があり、J2ME は写真を撮った後にそのパスを知る必要があるためです。

どうもありがとうございました。

よろしく、ケニー

0 投票する
1 に答える
132 参照

ssis - SSIS による外部の問題の処理

正常に動作する SSIS パッケージがあります。このパッケージは毎晩実行され、完了するまでに約 4 時間かかります。私はSSISの初心者なので、私のオプションが何であるかを知りたいです。これら 2 つの問題について Web 上で何も見つけられないので、アドバイスをいただければ幸いです。

  1. 電源障害/偶発的な再起動など、外部の問題が発生した場合の対処方法。誰かに警告したり、再起動時にパッケージを再開したりする方法はありますか?

  2. 数週間前、ハングしてテーブルをロックしたプロセスがあり、プロセスが実行されませんでした。開始する前に適切なアクセス権があることを確認し、そうでない場合はアクセス権を取得するための最良の方法は何ですか。プロセスなどを強制終了しても問題ありません。

ベストプラクティス情報を探しています。ありがとう

0 投票する
2 に答える
552 参照

oracle - Oracle トリガー クエリ

テーブル STUD と ROW レベルの TRIGGER が INSERT クエリに実装されていると考えてみましょう。最終的に結果を出力する必要があります。それで、これは可能ですか?はいの場合、これは動的な形式で存在する必要があります。つまり、スクリプトファイルの内容を変更すると、オラクルもそれらの変更を反映する必要があります。

外部プロシージャを使用してJavaでこれを実行しようとしましたが、望んでいた結果にあまり満足していません。

この種のシナリオとこれを実装する方法について、あなたの見解を教えてください。

0 投票する
1 に答える
599 参照

python - 外部プロセスの処理

私は外部プロセスを管理する必要があるGUIアプリに取り組んできました。外部プロセスを使用すると、プログラマーの生活を困難にする可能性のある多くの問題が発生します。このアプリのメンテナンスには、容認できないほど長い時間がかかっているように感じます。私は、痛みを軽減する方法を考え出すことができるように、外部プロセスでの作業を困難にするものをリストアップしようとしてきました。この種の暴言は、フィードバックを得るために、そしてこれらの非常に濁った海への航海を考えている人にいくつかのガイダンスを提供するために、私がここに投稿すると思った暴言に変わりました。これが私がこれまでに得たものです:

  1. 子からの出力は、親からの出力と混同される可能性があります。これにより、両方の出力が誤解を招き、読みにくくなる可能性があります。何がどこから来たのか見分けるのは難しいかもしれません。物事が非同期の場合、何が起こっているのかを理解するのが難しくなります。不自然な例を次に示します。

    出力:

    子プロセスにその出力をファイルに書き込ませることができると思います。しかし、printステートメントの結果を確認するたびにファイルを開かなければならないのは面倒な場合があります。

    子プロセスのコードがある場合は、のようなラベルを追加print 'child: Hello %i'できますが、すべての印刷に対してそれを行うのは面倒な場合があります。また、出力にノイズが追加されます。そしてもちろん、コードにアクセスできない場合はそれを行うことはできません。

    プロセス出力を手動で管理できました。しかし、それからあなたはスレッドとポーリングとそのようなものでワームの巨大な缶を開けます。

    簡単な解決策は、プロセスを同期関数のように扱うことです。つまり、プロセスが完了するまで、それ以上のコードは実行されません。つまり、プロセスブロックを作成します。しかし、GUIアプリを構築している場合、それは機能しません。それは私を次の問題に導きます...

  2. プロセスをブロックすると、GUIが応答しなくなります。

    Qtは、これを支援できる独自のと呼ばれるプロセスラッパーを提供しますQProcess。関数を信号に接続して、出力を比較的簡単にキャプチャできます。これは私が現在使用しているものです。しかし、これらのシグナルはすべて、ステートメントのように疑わしい動作gotoをし、スパゲッティコードにつながる可能性があることがわかりました。QProcessからの「finished」シグナルに、プロセス呼び出しの後に来るすべてのコードを含む関数を呼び出させることで、一種のブロッキング動作を取得したいと思います。私はそれがうまくいくはずだと思いますが、私はまだ詳細について少し曖昧です...

  3. 子プロセスから親プロセスに戻ると、スタックトレースが中断されます。通常の機能が失敗した場合は、ファイル名と行番号を含む完全なスタックトレースが得られます。サブプロセスが失敗した場合、出力が得られれば幸運です。何かがうまくいかないときはいつでも、あなたはもっと多くの探偵の仕事をしなければならないことになります。

  4. そういえば、外部プロセスを扱うときに出力が消える方法があります。Windowsの「cmd」コマンドで何かを実行した場合と同様に、コンソールがポップアップしてコードを実行し、出力が表示される前に消えます。/ kフラグを渡して、そのままにしておく必要があります。同様の問題が常に発生しているようです。

    問題3と4の両方に同じ根本原因があると思います。例外処理はありません。例外処理は関数で使用することを目的としており、プロセスでは機能しません。たぶん、プロセスの例外処理のようなものを取得する方法はありますか?それがstderrの目的だと思いますか?しかし、2つの異なるストリームを処理すること自体が煩わしい場合があります。多分私はこれをもっと調べる必要があります...

  5. プロセスは、気付かないうちにバックグラウンドでハングしたり、立ち往生したりする可能性があります。そのため、最終的にタスクマネージャーを起動して、同じプロセスの30個のインスタンスがバックグラウンドでぶら下がっているのを確認するまで、コンピューターに怒鳴りつけてしまいます。

    また、バックグラウンドプロセスをぶら下げると、ファイルへのハンドルを保持するなどしてアクセス許可エラーが発生するなど、さまざまな楽しい方法でプロセスの他のインスタンスと相互参照できます。

    これに対する簡単な解決策は、子プロセスがそれ自体を閉じなかった場合に、親プロセスに終了時に子プロセスを強制終了させることであるように思われます。ただし、プロセスがクラッシュした場合、クリーンアップコードが呼び出されず、子がハングしたままになる可能性があります。

    また、親が子の完了を待機していて、子が無限ループなどにある場合、2つのハングプロセスが発生する可能性があります。

    この問題は、問題2に関連してさらに楽しくなり、GUIが完全に応答しなくなり、タスクマネージャーですべてを強制終了する可能性があります。

  6. F***ing引用符

    多くの場合、パラメータをプロセスに渡す必要があります。これはそれ自体が頭痛の種です。特にファイルパスを扱っている場合。言ってください...'C:/ My Documents /whatever/'。引用符がない場合、文字列はスペースで分割され、2つの引数として解釈されることがよくあります。ネストされた引用符が必要な場合は、'と"を使用できます。ただし、2層以上の引用符を使用する必要がある場合は、たとえば、" cmd / k'python \'path 1\'\'のように厄介なエスケープを行う必要があります。パス2\''"。

    この問題の良い解決策は、パラメータを単一の文字列としてではなくリストとして渡すことです。サブプロセスを使用すると、これを行うことができます。

  7. サブプロセスからデータを簡単に返すことはできません。

    もちろん、stdoutを使用することもできます。しかし、デバッグの目的でそこにプリントを入れたい場合はどうでしょうか?特定の方法でフォーマットされた出力を期待している場合、それは親を台無しにするでしょう。関数では、1つの文字列を出力して別の文字列を返すことができ、すべてが正常に機能します。

  8. あいまいなコマンドラインフラグと安っぽい端末ベースのヘルプシステム。

    これらは、OSレベルのアプリを使用するときによく遭遇する問題です。私が言及した/kフラグのように、cmdウィンドウを開いたままにするために、誰の考えでしたか?Unixアプリは、この点でそれほど友好的ではない傾向があります。うまくいけば、あなたはあなたが必要とする答えを見つけるためにグーグルまたはStackOverflowを使うことができます。しかし、そうでない場合は、退屈な読書とイライラする試行錯誤がたくさんあります。

  9. 外部要因。

    これはちょっとあいまいです。しかし、外部プロセスを処理するために自分のスクリプトの比較的保護された港を離れると、「外の世界」をはるかに広範囲に処理する必要があります。そして、それは恐ろしい場所です。あらゆる種類のことがうまくいかない可能性があります。ランダムな例を挙げると、プロセスが実行されるcwdは、プロセスの動作を変更できます。

おそらく他の問題もありますが、それは私がこれまでに書き留めたものです。追加したい他の障害はありますか?これらの問題に対処するための提案はありますか?

0 投票する
1 に答える
297 参照

vb.net - シェル化されたプロセスからVBAプログラムへの情報の取得

それで、私がどんなOfficeアプリケーションの中にVBAアプリケーションを持っているとしましょう。私はコマンドラインVB.netプログラムを作成して、すべての楽しいWebサービスを実行しました。

さて、VBAアプリケーションはShell()コマンドラインプログラムを実行するために呼び出します。では、VB.netプログラムからVBAプログラムに情報(パッケージの追跡番号)を戻すための最良の方法は何ですか?

これまでのところ、この問題についての私の考えは次のとおりです。

  • で番号を書き、Console.WriteそれからどういうわけかそれをVBAで抽出する
  • または、ある種の外部インターフェイス(データベースやファイルシステムなど)を使用してデータに番号を付け、VBAで取得します。

これについて何か考えはありますか?

0 投票する
1 に答える
311 参照

asp.net - WindowsAzureでの外部実行可能ファイルの起動

私の現在のASP.NETサイトでは、アップロードされたビデオを変換するためにFFMPEG.EXEを起動する必要があります。共有ウェブホスティングサーバーでは、仮想プライベートサーバー(VPS)または専用サーバーを介して行うことはできません。

Windows Azureに関する情報を読んでいますが、次の情報は見つかりませんでした。1.外部実行可能ファイルを起動できる2.割り当てられた仮想マシンにデスクトップをリモート接続できる

アドバイスしてください、ありがとう!エディ

0 投票する
2 に答える
701 参照

c - C - ncurses ui から外部プログラムに行き、戻る

ncurses に情報を表示し、vim を開いて (を使用してsystem) ユーザーがファイルを編集できるようにするプログラムを作成しています。ただし、vim が終了すると、ncurses の画面は再描画されません。 何もしないと、美しいメニューが完全に破棄されますrefreshwrefresh

そのため、コマンドラインに送り返されます。メニュー項目に移動すると、メニュー項目が再描画されます。少し移動すると、次のようになります。

悲劇

ご覧のとおり、私はもうきれいな ncurses 環境ではありません。

ncurses を完全に破棄して再度設定することはできますが、(メニュー位置などの) いくつかのものは保持されません。

これを正しく行うにはどうすればよいですか?外部プログラムを呼び出して、ここに優雅に戻るより良い方法はありますか?

0 投票する
1 に答える
3036 参照

java - Javaアプリケーション内に外部アプリケーションを埋め込む(または偽造する)

フルスクリーンとして実行される(ただし、排他モードではない)Windows 7(Swing、アプリ#1を使用)で実行されるJavaアプリケーションがあります。別のアプリケーション(アプリ#2)があり、ソースがなく、まったく変更できないシリアルポートを介して外部デバイスを構成するためのGUIを表示します。

App#2をApp#1の中に埋め込んで、親Javaアプリケーションの一部のように見せたい(ファイル->終了ボタンを非表示にし、最小化、最大化、および閉じるボタンを非表示にする)。

この種の統合がJavaアプリケーション内で不可能な場合は、Javaを使用してプロセスを開き、それを監視して開いたままにしておくだけで問題ありません。アプリ#1は全画面表示であり、外部MS Windows UIをできるだけ非表示にして、ユーザーをだまして外部アプリケーションではないと思わせるため、ウィンドウを「常に上」に設定しておく必要があります。JNIまたは他の何かを使用して別のプロセスウィンドウ(画面の場所、タイトルバー、最小化、最大化、ボタンの表示を閉じる)を管理し、Javaアプリケーション内から状態を処理する方法はありますか?

必要に応じて、さらに詳しい情報を提供させていただきます。