diff --git a/src/ProcessInfo.cpp b/src/ProcessInfo.cpp --- a/src/ProcessInfo.cpp +++ b/src/ProcessInfo.cpp @@ -358,11 +358,10 @@ void UnixProcessInfo::readProcessInfo(int pid) { - // prevent _arguments from growing longer and longer each time this - // method is called. - clearArguments(); - if (readProcInfo(pid)) { + // prevent _arguments from growing longer and longer each time this + // method is called. + clearArguments(); readArguments(pid); readCurrentDir(pid); } @@ -544,6 +543,18 @@ } if (!processNameString.isEmpty()) { + if (processNameString == QStringLiteral("sudo")) { + // Read process arguments and append process name along with sudo + clearArguments(); + readArguments(pid); + + bool ok = false; + const QVector &args = arguments(&ok); + + if (ok && args.size() > 1) + processNameString.append(QStringLiteral(" ") + args[1]); + } + setName(processNameString); }