From e83a4f15cf1fff20940c33b6995046411246259a Mon Sep 17 00:00:00 2001 From: thiflict <121az348@gmail.com> Date: Fri, 3 Apr 2026 10:04:58 +0500 Subject: [PATCH] =?UTF-8?q?#1:=20=D0=94=D0=BE=D0=B4=D0=B5=D0=BB=D0=B0?= =?UTF-8?q?=D0=BB=20=D1=80=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE=D1=80=D0=B8?= =?UTF-8?q?=D0=BD=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/kotlin/Main.kt | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/Main.kt b/src/main/kotlin/Main.kt index 6522d7a..42a8111 100644 --- a/src/main/kotlin/Main.kt +++ b/src/main/kotlin/Main.kt @@ -37,7 +37,7 @@ class USBVirusScanner { private val scope = CoroutineScope(Dispatchers.IO + SupervisorJob()) fun initialize() { - println("Инициализация...") + println(if (DEBUG) "Инициализация..." else "") try { // Проверяем доступность gpiod @@ -55,7 +55,7 @@ class USBVirusScanner { // Запускаем индикацию состояния startStateIndication() currentState = SystemState.IDLE - Thread.sleep(500) + Thread.sleep(1000) println("Инициализация завершена.") @@ -284,7 +284,7 @@ class USBVirusScanner { if (parts.size >= 2) { val mountPoint = parts[1] - if ((mountPoint.startsWith("/media") || mountPoint.startsWith("/mnt")) && + if ((mountPoint.startsWith("/media")) && File(mountPoint).exists() && devices.none { it.mountPoint == mountPoint }) { @@ -340,8 +340,8 @@ class USBVirusScanner { "-r", "--stdout", "--infected", - "--max-filesize=1G", - "--max-scansize=1G", + "--max-filesize=70M", + "--max-scansize=150M", path ) @@ -364,6 +364,14 @@ class USBVirusScanner { } } + val syncProccessBuilder = ProcessBuilder("sync") + syncProccessBuilder.start() + process.waitFor() + + val umountProcessBulder = ProcessBuilder("umount", "/dev/sda", "-f") + umountProcessBulder.start() + process.waitFor() + return ScanResult( isInfected = infectedFiles.isNotEmpty(), infectedFiles = infectedFiles,