killing process now shows process name in event logs #7197

Signed-off-by: si458 <simonsmith5521@gmail.com>

si458 committed Jul 31, 2025 at 15:39 UTC 1e534282ac45940be1ebfc2c9132b3fbbfef4597
4 files changed +31 -29
agents/meshcore.js
+4 -2
@@ -1302,8 +1302,10 @@ function handleServerCommand(data) {
1302 case 'pskill': {
1303 // Kill a process
1304 if (data.value) {
1305 - MeshServerLogEx(19, [data.value], "Killing process " + data.value, data);
1306 - try { process.kill(data.value); } catch (ex) { sendConsoleText("pskill: " + JSON.stringify(ex)); }
1305 + var info = data.value.split('|'), pid = data.value, msg = " (Unknown)";
1306 + if (info.length > 1) { pid = info[0]; msg = " (" + info[1] + ")"; } else { info[1] = "Unknown"; }
1307 + MeshServerLogEx(19, info, "Killing process " + pid + msg, data);
1308 + try { process.kill(parseInt(pid)); } catch (ex) { sendConsoleText("pskill: " + JSON.stringify(ex)); }
1309 }
1310 break;
1311 }
translate/translate.json
+24 -24
@@ -45467,30 +45467,30 @@
45467 ]
45468 },
45469 {
45470 - "bs": "Proces ubijanja {0}",
45471 - "ca": "Procés de matança {0}",
45472 - "cs": "Proces zabíjení {0}",
45473 - "da": "Stopper proces {0}",
45474 - "de": "Beende Prozess {0}",
45475 - "en": "Killing process {0}",
45476 - "es": "Finalización del proceso {0}",
45477 - "fi": "Tappamisprosessi {0}",
45478 - "fr": "Processus de mise à mort {0}",
45479 - "hi": "हत्या की प्रक्रिया {0}",
45480 - "hu": "Folyamat leállítása {0}",
45481 - "it": "Processo di uccisione {0}",
45482 - "ja": "殺害プロセス{0}",
45483 - "ko": "프로세스 {0} 종료",
45484 - "nl": "Doodingsproces {0}",
45485 - "pl": "Zabijanie procesu {0}",
45486 - "pt": "Processo de morte {0}",
45487 - "pt-br": "Matando processo {0}",
45488 - "ru": "Завершение процесса {0}",
45489 - "sv": "Avlivningsprocessen {0}",
45490 - "tr": "Öldürme süreci {0}",
45491 - "uk": "Процес {0} Завершено",
45492 - "zh-chs": "杀死进程{0}",
45493 - "zh-cht": "殺死進程{0}",
45470 + "bs": "Proces ubijanja {0} ({1})",
45471 + "ca": "Procés de matança {0} ({1})",
45472 + "cs": "Proces zabíjení {0} ({1})",
45473 + "da": "Stopper proces {0} ({1})",
45474 + "de": "Beende Prozess {0} ({1})",
45475 + "en": "Killing process {0} ({1})",
45476 + "es": "Finalización del proceso {0} ({1})",
45477 + "fi": "Tappamisprosessi {0} ({1})",
45478 + "fr": "Processus de mise à mort {0} ({1})",
45479 + "hi": "हत्या की प्रक्रिया {0} ({1})",
45480 + "hu": "Folyamat leállítása {0} ({1})",
45481 + "it": "Processo di uccisione {0} ({1})",
45482 + "ja": "殺害プロセス{0} ({1})",
45483 + "ko": "프로세스 {0} ({1}) 종료",
45484 + "nl": "Doodingsproces {0} ({1})",
45485 + "pl": "Zabijanie procesu {0} ({1})",
45486 + "pt": "Processo de morte {0} ({1})",
45487 + "pt-br": "Matando processo {0} ({1})",
45488 + "ru": "Завершение процесса {0} ({1})",
45489 + "sv": "Avlivningsprocessen {0} ({1})",
45490 + "tr": "Öldürme süreci {0} ({1})",
45491 + "uk": "Процес {0} ({1}) Завершено",
45492 + "zh-chs": "杀死进程{0} ({1})",
45493 + "zh-cht": "殺死進程{0} ({1})",
45494 "xloc": [
45495 "default.handlebars->47->2560",
45496 "default3.handlebars->35->2557"
views/default.handlebars
+1 -1
@@ -10645,7 +10645,7 @@
10645 function dmousemove(e) { setSessionActivity(); e.addx = Q('DeskParent').scrollLeft; e.addy = Q('DeskParent').scrollTop; if (!xxdialogMode && desktop != null && Q('DeskControl').checked) { Q('Desk').style.cursor = ''; if ((webRtcDesktop != null) && (webRtcDesktop.softdesktop != null)) { webRtcDesktop.softdesktop.m.mousemove(e); desktop.m.sendKeepAlive(); } else { desktop.m.mousemove(e); } } else if (!xxdialogMode && desktop != null && !Q('DeskControl').checked) { Q('Desk').style.cursor = 'not-allowed'; } }
10646 function dmousewheel(e) { setSessionActivity(); e.addx = Q('DeskParent').scrollLeft; e.addy = Q('DeskParent').scrollTop; if (!xxdialogMode && desktop != null && Q('DeskControl').checked) { if ((webRtcDesktop != null) && (webRtcDesktop.softdesktop != null)) { webRtcDesktop.softdesktop.m.mousewheel(e); desktop.m.sendKeepAlive(); } else { if (desktop.m.mousewheel) { desktop.m.mousewheel(e); } } haltEvent(e); return true; } return false; }
10647 function drotate(x) { if (!xxdialogMode && desktop != null) { desktop.m.setRotation(desktop.m.rotation + x); deskAdjust(); deskAdjust(); } }
10648 - function stopProcess(id, name) { setDialogMode(2, "Process Control", 3, stopProcessEx, format("Stop process #{0} \"{1}\"?", id, name), id); return false; }
10648 + function stopProcess(id, name) { setDialogMode(2, "Process Control", 3, stopProcessEx, format("Stop process #{0} \"{1}\"?", id, name), (id + '|' + name)); return false; }
10649 function stopProcessEx(buttons, tag) { meshserver.send({ action: 'msg', type: 'pskill', nodeid: currentNode._id, value: tag }); setTimeout(refreshDeskTools, 300); }
10650
10651 //
views/default3.handlebars
+2 -2
@@ -11429,7 +11429,7 @@
11429 function drotate(x) { if (!xxdialogMode && desktop != null) { desktop.m.setRotation(desktop.m.rotation + x); deskAdjust(); deskAdjust(); } }
11430 function stopProcess(id, name) {
11431 setModalContent('xxAddAgent', "Process Control", format("Stop process #{0} \"{1}\"?", id, name));
11432 - showModal('xxAddAgentModal', 'idx_dlgOkButton', () => stopProcessEx(3, id));
11432 + showModal('xxAddAgentModal', 'idx_dlgOkButton', () => stopProcessEx(3, (id + '|' + name)));
11433 return false;
11434 }
11435 function stopProcessEx(buttons, tag) { meshserver.send({ action: 'msg', type: 'pskill', nodeid: currentNode._id, value: tag }); setTimeout(refreshDeskTools, 300); }
@@ -16426,7 +16426,7 @@
16426 16: "Started file management session \"{0}\" from {1} to {2}",
16427 17: "Processing console command: \"{0}\"",
16428 18: "Displaying message box, title=\"{0}\", message=\"{1}\"",
16429 - 19: "Killing process {0}",
16429 + 19: "Killing process {0} ({1})",
16430 20: "Opening: {0}",
16431 21: "Getting clipboard content, {0} byte(s)",
16432 22: "Setting clipboard content, {0} byte(s)",