Ich entwickle eine Anwendung, die das Hochladen von Dateien verwendet. Mein Kunde verwendet Symantec End Point Protection auf Windows Server.
Ich verwende also einen Beispielcode, um zu prüfen, ob eine Datei auf den Server hochgeladen wurde.
Ich rufe SEP über die Befehlszeile auf.
Beispiel-Code:
String[] commands = new String[6];
commands[0] = "cmd";
commands[1] = "/c";
commands[2] = "C:\\Program Files\\Symantec\\Symantec Endpoint Protection\\DoScan.exe";
commands[3] = "/cmdlinescan";
commands[4] = "/ScanFile";
commands[5] = fileName;
Process process = Runtime.getRuntime().exec(commands);
int exitVal = process.waitFor();
Ich habe auch festgestellt, dass SEP ein tägliches Protokoll für jede gescannte Datei unter .
scanResult = "C:\\Documents and Settings\\All Users\\Application Data\\"Symantec\\Symantec Endpoint Protection\\Logs\\";
Hier möchte ich also die Datei scannen.
Ich habe ein Häkchen gesetzt, damit das Lesen der Datei an der Stelle beginnt. Sobald der Prozess 0 zurückgibt
Aber "int exitVal = process.waitFor();"
wird zurückgegeben, bevor SEP das Protokoll in die Datei schreibt.
Ist SEP also "DoScan.exe"
ruft den Thread zwischendurch auf, um mit dem Scannen der Datei zu beginnen.
Wenn ja, schlagen Sie mir bitte eine Alternative vor.
Für jede Hilfe wären wir dankbar