[Bug 1174911] Re: pgrep cuts process names

Dominique Poulain dominique.poulain at canonical.com
Fri Mar 18 13:25:30 UTC 2016


Confirmed on latest Xenial:

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu Xenial Xerus (development branch)
Release:	16.04
Codename:	xenial

Related to LP #295876 'top and ps truncate command after 15 chars' at
<https://bugs.launchpad.net/ubuntu/+source/procps/+bug/295876>.

As per comment #3 to LP #295876
(<https://bugs.launchpad.net/ubuntu/+source/procps/+bug/295876/comments/3>),
The root cause seems to be that pgrep gets the process's name from
/proc/<pid>/status instead of /proc/<pid>/cmdline; in the former case,
the name is truncated to 15 characters:

$ python3 -c 'print(len("chromium-browser"))'
16
$ pgrep chromium-browser
echo $?
1 # exit status code 1 == no processes matched (as per man page for pgrep(1))
$ pgrep chromium-browse
22351
22364
[snip]

$ cat /proc/22351/cmdline && echo
chromium-browser --enable-pinch
$ cat /proc/22351/status | grep Name
Name:	chromium-browse

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to procps in Ubuntu.
https://bugs.launchpad.net/bugs/1174911

Title:
  pgrep cuts process names

Status in procps package in Ubuntu:
  Confirmed

Bug description:
  When looking for a process with a long process name, pgrep cuts the
  process name, and so doesn't match an exact search. For example:

  # launch gnome-calculator:
  $ gnome-calculator

  # use 'ps a' to show process table - note the whole process name is present:
  $ ps a
    PID TTY      STAT   TIME COMMAND
   1411 tty4     Ss+    0:00 /sbin/getty -8 38400 tty4
   1417 tty5     Ss+    0:00 /sbin/getty -8 38400 tty5
   1427 tty2     Ss+    0:00 /sbin/getty -8 38400 tty2
   1428 tty3     Ss+    0:00 /sbin/getty -8 38400 tty3
   1436 tty6     Ss+    0:00 /sbin/getty -8 38400 tty6
   9417 pts/1    Sl     0:00 gnome-calculator
   9426 pts/1    R+     0:00 ps a

  (some results cut for clarity)

  # now try and find it with pgrep:
  $ pgrep gnome-calculator

  # no results! however, this works:
  $ pgrep gnome-calculato

  ProblemType: Bug
  DistroRelease: Ubuntu 13.04
  Package: procps 1:3.3.3-2ubuntu5
  ProcVersionSignature: Ubuntu 3.8.0-19.29-generic 3.8.8
  Uname: Linux 3.8.0-19-generic x86_64
  NonfreeKernelModules: nvidia
  ApportVersion: 2.9.2-0ubuntu8
  Architecture: amd64
  Date: Tue Apr 30 13:35:02 2013
  InstallationDate: Installed on 2012-01-17 (469 days ago)
  InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
  MarkForUpload: True
  SourcePackage: procps
  UpgradeStatus: Upgraded to raring on 2012-12-05 (145 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/procps/+bug/1174911/+subscriptions



More information about the foundations-bugs mailing list