From 659badf106786f5611e750de0e4936e47c69a3d4 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Thu, 21 May 2026 22:15:01 +0300 Subject: fix: avoid agent detection from runtime arguments refs #238 --- src/platform/linux.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/platform/linux.rs') diff --git a/src/platform/linux.rs b/src/platform/linux.rs index 269e3ad8..73a4f0a5 100644 --- a/src/platform/linux.rs +++ b/src/platform/linux.rs @@ -34,11 +34,13 @@ pub fn foreground_job(child_pid: u32) -> Option { continue; } + let argv = process_argv(pid); processes.push(ForegroundProcess { pid, name, argv0: None, - cmdline: process_cmdline(pid), + cmdline: argv.as_ref().map(|parts| parts.join(" ")), + argv, }); } @@ -73,7 +75,7 @@ fn process_pgrp_and_comm(pid: u32) -> Option<(i32, String)> { Some((pgrp, comm)) } -fn process_cmdline(pid: u32) -> Option { +fn process_argv(pid: u32) -> Option> { let bytes = std::fs::read(format!("/proc/{pid}/cmdline")).ok()?; if bytes.is_empty() { return None; @@ -83,7 +85,7 @@ fn process_cmdline(pid: u32) -> Option { .filter(|part| !part.is_empty()) .map(|part| String::from_utf8_lossy(part).into_owned()) .collect(); - (!parts.is_empty()).then(|| parts.join(" ")) + (!parts.is_empty()).then_some(parts) } /// Get the current working directory of a process. -- cgit v1.2.3