1. ホーム
  2. windows

[解決済み] invisible.vbsでBATファイルをバックグラウンドで実行するが、停止する方法は?

2022-02-07 23:55:35

質問

ここに書かれているような解決策を使っています。 バックグラウンドでbatファイルを実行する が、問題のbatファイルはバックグラウンドでBitcoin GPU minerを実行しています。時々、採掘機を停止したいのですが、目に見えないように実行しようとしているので(タスクバーに表示させたくないので)、プロセスを停止することができません。プロセスマネージャーで見つけることもできません(cmd.exeやconhost.exeもない)。[何かいい方法はないでしょうか?

edit: 間違いなく動いています。ウィンドウでプロセスを開くと、採掘機が半分の容量で動いていることがわかり、過去には採掘機が2回開いていたことが示されています。

edit2: バッチファイルの内容です、参考になれば。

バッチファイルを実行します。

wscript.exe "D:\Desktop\invisible.vbs" "C:\Program Files (x86)\Bitcoin\DiabloMiner\bpm.bat"

bpm.batです。

cd "C:\Program Files (x86)\Bitcoin\DiabloMiner"
java -cp target\libs\*;target\DiabloMiner-0.0.1-SNAPSHOT.jar -Djava.library.path=target\libs\natives\windows com.diablominer.DiabloMiner.DiabloMiner -u <username> -p <password> -o <pool> -p 8332 -w 64 -f 1000

invisible.vbsです。

set args = WScript.Arguments
num = args.Count

if num = 0 then
    WScript.Echo "Usage: [CScript | WScript] invis.vbs aScript.bat <some script arguments>"
    WScript.Quit 1
end if

sargs = ""
if num > 1 then
    sargs = " "
    for k = 1 to num - 1
        anArg = args.Item(k)
        sargs = sargs & anArg & " "
    next
end if

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run """" & WScript.Arguments(0) & """" & sargs, 0, False

解決方法は?

バッチの中身を見ずに推測すると、CMD.exeがバッチを実行し、ビットコインのプロセスを起動し、終了するのだと思います。これなら、CMD.exeが表示されない理由も説明できます。

cmd.exeが表示される例を見たい場合は、次のように終了しないバッチを作成することができます。

:TOP
REM FOO
GoTo TOP

そして、このバッチでinivisible.vbsを実行すると、タスクにcmd.exeが表示されます。プロセスエクスプローラーを使えば、画像のコマンドラインにバッチファイルの名前が表示されます。それは次のようなものです。

`cmd /c ""C:\WaterverLooptest.bat" "

アップデイト

Harry Steinhilberがすでに指摘しているように、プロセスはjava.exeになります。

プロセス・エクスプローラーを実行し、Java.Exeを選択すると、コマンド・プロンプトに次のように表示されます。

java -cp target\libs\*;target\DiabloMiner-0.0.1-SNAPSHOT.jar -Djava.library.path=target\libs\natives\windows com.diablominer.DiabloMiner.DiabloMiner -u <username> -p <password> -o <pool> -p 8332 -w 64 -f 1000

これにより、実行中の他のJavaアプリケーションからDataMinerを識別することができます(ある場合)。