• ベストアンサー

exe実行後、プロセスが残ってしまう

VB初心者(初日)です。 よろしくお願いします。 あるアプリケーションで「アプリケーションの連動」 の設定があります。 私はperlをキックしてほしいのですが、 VBのexeしか指定できません。 なので、VBのexeを作ることにしました。 ただperlをキックしたいだけのexeです。 Private Sub Form_Load() Ret = Shell("E:\Perl\bin\perl.exe G:\InetPub\wwwroot\cgi-bin\test.cgi", vbAbort) End Sub うまくキックしてくれるのですが、タスクマネージャーで 確認すると、プロセスが残ってしまいます。 shell実行後、完全に終了するにはどうしたらよいですか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

つまり、 Private Sub Form_Load() Ret = Shell("E:\Perl\bin\perl.exe G:\InetPub\wwwroot\cgi-bin\test.cgi", vbAbort) END End Sub です。

yasu_japan
質問者

お礼

ありがとうございました。 簡単なことほど、目に付かなくて。 多謝。

その他の回答 (1)

  • TMINET
  • ベストアンサー率32% (45/140)
回答No.1

プログラム自体を終了させるEndは書いてありますか?

yasu_japan
質問者

お礼

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

関連するQ&A

  • 外部ファイルを実行するには?

    お世話になります。 vb6で外部のバッチファイルを起動して、それを動作させようとしているのですが、うまくいきません。特にエラーにはならず、一瞬DOSプロントは立ち上がるんですが、バッチ処理しているログにはなにも書き込まれません。普通にバッチファイルをダブルクリックさせるか、コマンドからバッチファイルの入っているフォルダまでいって、バッチファイルを実行すれば書き込まれるのですが。 どこがまちがっているのでしょうか?shellじゃなくて、違う関数を使わなければいけないのでしょうか?ご教授よろしくお願いします。 なお、vb6でテストするときは▸マークの実行を押して、テストしました。 サンプル用のものです。 ↓test 現在の時間をログに記入 ■バッチファイルの中身(test.bat) echo test >> log.txt time/t >> log.txt ■vb6のファイルの中身 Private Sub Command1_Click() Dim ret as long ret = shell("cmd.exe /c C:\test\test.bat",4) End Sub

  • サーバーに保存されているVB6で作成したexeをWEBで実行したいので

    サーバーに保存されているVB6で作成したexeをWEBで実行したいのですが下記エラーがでてきます。 エラーActiveXコンポーネントはオブジェクトを作成できません"Wscript.Shell" "Wscript.Shell"に原因があるみたいなのですが、どのようにしたらいいでしょうか。 個別テスト ・サーバでProject1.exeをダブルクリックすると正常起動します。 ・クライアントPCでもProject1.exeダブルクリックすると正常起動します。 ・クライアントPCでIISを起動しWEBで下記ソースを実行すると正常起動します。 環境 サーバー Windows Server 2003 IIS クライアント Windows XP 【ソース】 <html> <head> <title>サンプル</title> <script language="VBScript"> Sub Sample4() Dim WshShell Set WshShell = CreateObject("Wscript.Shell") '実行 WshShell.Run "C:\Inetpub\wwwroot\test1\Project1.exe" , 1 , True End Sub </script> </head> <body> <form name="frm1"> <span id="txt1"></span> <br> <input type=button value="テスト" name="btn1" onclick="vbscript:Sample4()" /> </form> </body> </html>

  • IIS の管理コンソールというのは

    IIS の管理コンソールというのは、wwwサビースプロパティのことでしょうか すみません初心者のもので、wwwサビースプロパティは C:\inetpub\wwwroot\cgi-bin 仮想ディレクトリのエイリアス/cgi-bin 読取り・実行権限にチェックが入っています CGIプログラムはcgi-binの中です しかし動かないどうしてでしょうか

  • Perlを実行する方法

    Perlを実行するために <?php $ret = exec('/usr/bin/php /usr/local/apache/public_html1/testdir/a.cgi'); print $ret; ?> のように書きましたが、a.cgiは実行されないし$retは空白でした。 execでなくてもよいのですが、普通はPHPの実行中に、ある処理をさせるa.cgiを実行させるにはどうしているんでしょうか? a.cgiの処理が終わるまでphpのprint $ret;のステートメントの実行は待ち状態で、a.cgiの処理結果がTRUEなのかFALSEなのかを得られればさらによいです。

    • 締切済み
    • PHP
  • 2003サーバの『規定のwebサイト』の開始が出来ない

    IIS6.0において、『規定のwebサイト』が停止状態から 開始できなくなっています。 『プロセスは他のプロセスが使用中です。』 という、エラーか帰ってきます。 Apache、PHP、Perlをインストールしているので、 ひょっとしたら、ApacheとIISはどちらかでよいとも聞いたこともあるので、 c:\windows\php.iniかd:\Apache\conf\httpd.conf への設定がおかしくなっている可能性があるでしょうか? インストールに関してはこちらを参考にしています。 ttp://y-kit.jp/saba/ また、2003サーバにおけるPHP,Apache,Perl等のインストールについて記載のあるURLをお願いします。 階層は D:\をすべてweb用に割り当てて、 d: ┣Apache ┣Inetpub┳wwwroot┳index.html ┃    ┃ ┣cgi-bin(エリアス) ┃    ┗cgi-bin(実際のデータ)  ┣Logfiles ┣php━php.exe ┣WUTemp ┗user━local┳bin━perl.exe        ┃・・・        ┃・・・        ┃・・・ となっています。 よろしくお願いします。

  • 外部プロセスを終了したい!!

    こんにちは。 ご多忙の中、申し訳ありませんが皆さんの知恵をお貸しください。 私はVBは初心者中の初心者なのですが、 あるアプリケーションからEXEをキックし(このEXEは永久ループ)、 ある程度の処理をしたら、キックしたEXEを終了させたいと考えております。 基本的にキックされたEXEがウェイトして自らおちるのではなく、キックした アプリから落としたいと考えています。 簡単に言えば、UNIXでいうKILLコマンドのような関数はありますかと 言うことです。(プロセスIDを使用して・・・) ご存知の方がいらっしゃいましたら、教えてください。 宜しくお願い致します。m(_ _)m

  • ファイル書込時にPermission denied

    QRコードを生成してファイルに保存するプログラムを作っています。 ファイルハンドルをオープン時にエラーがでます。 open OUTFILE, '>', 'C:\inetpub\wwwroot\test.jpg' or die "$!"; # ここでエラーがでます。 binmode OUTFILE; print OUTFILE $qrimg->plot->jpeg; close OUTFILE; エラーメッセージは 「指定された CGI アプリケーションは、正しく動作しませんでした。HTTP ヘッダーの完全なセットが返されませんでした。返されたヘッダーは "Permission denied at C:\inetpub\wwwroot\cgi-bin\qr.cgi line 24. " です。」 です。 環境は Windows 7 / IIS 7.5 / ActivePerl 5.14.2 です。

    • ベストアンサー
    • Perl
  • IIS+Activeperl データファイル等を絶対パスでしか受け付けてくれません

    Windows2000serverの IIS5.0(だと思います、バージョンの見方が良く分かりません) ActivePerl5.6.1を導入した環境です。 このまえ、Windows2000serverのマシンを入れ替え、 新規にperlをインストールしなおしました。 それでwebページをすべて移動して稼動し始めたのですが、 一部動作しないCGIがあるのです。 調べてみると"./"ではじまるデータファイルやモジュールの読み込みを しているCGIがことごとく動作してませんでした。 データファイルやモジュールを c:\usr\local\bin\perl\libに移動して"./"を削除するか ファイルの指定を "C:\Inetpub\wwwroot\cgi-bin\secure\wforum\wf_log.cgi"のように フルパスで指定しないと動かないのです。 サーバ移転前はちゃんと動いてたのですけど・・・。 いったい私は何の設定を忘れてるのでしょうか。 ややこしい説明ですみませんがよろしくお願いします。

    • ベストアンサー
    • Perl
  • exeとdll

    こんにちわ。 いまVB6.0で開発しています。 メイン(exe)が1つと,それとは独立したサブ(exe)が1つある構成です。 今回メインのなかからサブを呼び出す仕組みに変えたいのですが, このような場合,サブはdllにしたほうが良いのでしょうか? それからそもそもユーザアプリケーションをdll化するメリット(理由)はどういうものでしょうか? 教えてください。 よろしくお願いします。

  • IIS6.0でcgiが認識できない

    IIS6.0でcgiが認識できないのですが 以下の構成でどうなのでしょうか? 仮想パスは認識できているようなので、 http://*.*.*.*/cgi-bin/index.html は表示できます。 ■環境:win2k3/ActivePerl5.8.4/IIS6.0 #################################### アプリケーションの構成マッピング ------------------------------------ ●ISAPI拡張をキャッシュする(checked) ●アプリケーションの拡張子 .pl D:\user\local\bin\perl.exe GET,POST .cgi D:\user\local\bin\perl.exe GET,POST ※スクリプトエンジン(checked) ※ファイルの存在を確認する(checked) #################################### perlの実行ファイルは,ググった結果、以下のものも試してみましたが だめでした。 perlIS.dll perl5.8.4.exe perl.exe "%s" %s どうぞお願いします。

専門家に質問してみよう