On Fri, Nov 10, 2023 at 4:22 PM Matthew Chae <matthew.c...@axis.com> wrote: > Hi Denys, > > I'm sending the patch what I've mentioned. Can you take a look at this? > If I don't understand correctly what you said before, let me know.
> > The max PID value can have 7 digits as the 4194304. > > Busybox v1.36 released a new patch to handle large PID value in top command. > > However, it still causes misalignment between the title and the number for > > 7 digits or 6 digits PID. > > The presence of a large number of PID and PPID digits in the column may > > cause overflow, making it impossible to display the entire data accurately. > > Plus, the large PID causes that user name can't be displayed up to 8 > > characters and result in the truncation of less than 8 characters. > > > > I can contribute new patch which allocates appropriate space for the number > > of digits in the PID and PPID to represent the values in each column > > correctly. > > This can make alignment between the title and the number for 7 digits PID > > and 5 digits PID and also display user name up to 8 characters. > > > > What do you think? If you agree, I will send a patch. > > Absolutely, please send a patch. Would be interesting to see a good solution. + fp = xfopen_for_read("/proc/sys/kernel/pid_max"); + if (!fgets(pid_buf, PID_DIGITS_MAX + 1, fp)) { ... + if (strncmp(pid_buf, "32768", 5) == 0) + pid_digits_num = 5; + else + pid_digits_num = PID_DIGITS_MAX; The logic above is not sound. Even if sysctl kernel.pid_max is 32768, there can be already running processes with pids > 99999. Ideally, the code should handle any pids correctly. _______________________________________________ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox