windows - Kører en BAT-fil i baggrunden med invisible.vbs, men hvordan stopper du det?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg bruger en løsning som den, der nævnes her, køre bat-fil i baggrunden, men den pågældende batfil kører en Bitcoin GPU-minearbejder i baggrunden. Nogle gange vil jeg stoppe minearbejderen, men da jeg forsøger at køre det usynligt (fordi Jeg vil ikke have det i min proceslinje) Jeg kan ikke stoppe processen. Jeg kan ikke finde den i min procesleder (ingen cmd.exe eller conhost.exe). [[Jeg er ikke engang sikker på at det kører.]] Enhver hjælp?


rediger: Det løber mest sikkert; åbner processen med et vindue viser, at minearbejderen kørte ved halv kapacitet, hvilket tidligere viste at minearbejderen var åben to gange.


edit2: Her er indholdet af batch-filer, hvis det hjælper.


batch-fil Jeg løber for at starte alt:


wscript.exe "D:Desktopinvisible.vbs" "C:Program Files (x86)BitcoinDiabloMinerpm.bat"


bpm.bat:


cd "C:Program Files (x86)BitcoinDiabloMiner"
java -cp targetlibs*;targetDiabloMiner-0.0.1-SNAPSHOT.jar -Djava.library.path=targetlibs
ativeswindows 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

Bedste reference


Uden at se indholdet af batchet mit gæt er CMD.exe kører din batch, der starter din bitcoin proces og derefter ender. Dette ville forklare, hvorfor du ikke ser CMD.exe.


Hvis du vil se et eksempel, når du vil se cmd.exe, kan du oprette et parti, der aldrig slutter som det.


:TOP
REM FOO
GoTo TOP


Kør derefter inivisible.vbs med denne batch, og du vil se cmd.exe i din opgave. Hvis du bruger procesopdagelsesprogrammer, kan du se batchfilens navn i kommandolinjen for billedet. Hvilket ville se noget ud sådan her


`cmd/c' 'C: \ Whaterver \ Looptest.bat' '


UPDATE


Som Harry Steinhilber allerede påpeget, vil processen være java.exe


Hvis du kører procesopdagelsesprogrammer, og vælg Java.Exe skal du se dette i kommandoprompten


java -cp targetlibs*;targetDiabloMiner-0.0.1-SNAPSHOT.jar -Djava.library.path=targetlibs ativeswindows com.diablominer.DiabloMiner.DiabloMiner -u <username> -p <password> -o <pool> -p 8332 -w 64 -f 1000


Dette giver dig mulighed for at identificere DataMiner fra andre Java-applikationer (hvis nogen), du kører.

Andre referencer 1


Du kan bruge VBScript.


set shell=createobject("wscript.shell")
dim cmdline
cmdline="C:path	oyourprogram.jar" ' HERE
set wmi=getobject("winmgmts:{impersonationLevel=impersonate}!\"&shell.expandenvironmentstrings("\%computername\%")&"
ootcimv2")
for each process in wmi.instancesof("Win32\_process")
    if process.name="java.exe" and instr(process.commandline,cmdline)>0 then
        process.terminate
    end if
next


Undskyld om den lange linje. Skift teksten, hvor den siger HER til placeringen af ​​din jarfil, og den vil opsige den.