From owner-freebsd-arch@FreeBSD.ORG Sun May 23 19:58:33 2004 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1694F16A4CE for ; Sun, 23 May 2004 19:58:33 -0700 (PDT) Received: from smtp2.server.rpi.edu (smtp2.server.rpi.edu [128.113.2.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id A573B43D2F for ; Sun, 23 May 2004 19:58:32 -0700 (PDT) (envelope-from drosih@rpi.edu) Received: from [128.113.24.47] (gilead.netel.rpi.edu [128.113.24.47]) by smtp2.server.rpi.edu (8.12.8/8.12.8) with ESMTP id i4O2wOIX026775 for ; Sun, 23 May 2004 22:58:24 -0400 Mime-Version: 1.0 X-Sender: drosih@mail.rpi.edu Message-Id: Date: Sun, 23 May 2004 22:58:23 -0400 To: arch@FreeBSD.ORG From: Garance A Drosihn Content-Type: text/plain; charset="us-ascii" ; format="flowed" X-Scanned-By: CanIt (www . canit . ca) Subject: Change to "kludge option processing" in /bin/ps X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 May 2004 02:58:33 -0000 After staring at the kludge-option processing in `ps' for awhile, I found enough edge-cases where it simply did not work "right" (for my definition of "right", at keast...), so I rewrote it. As part of that, I also removed the ancient "BACKWARD_COMPATIBILITY" compile-time option, where: ps -options arg1 arg2 (with no '-' on "arg1" and "arg2") was treated as: ps -options -N arg1 -M arg2 I did this because I have often been puzzled/annoyed when I type: ps 12 to get process 12, and then realize I wanted it shown in a different format so I type: ps -u 12 and I get a completely different list of processes, or I type: ps 12 34 and I only see process 12, or I type ps 12 34 56 and get the error message: ps: 56: No such file or directory This BACKWARD_COMPATIBILITY is not documented in the usage() or the man page, so I'd like to replace it. So, I changed `ps' to check for any additional arguments after processing all '-'-options, and if those start with a digit then `ps' will try to use the entire argument as a pid or pidlist. If an extra argument does not start with a digit, then `ps' just prints an error and exits. I want to do more testing on this before committing, but I thought that all this was enough of a change that I should also give people a chance to scream before I commit it. Also, I'm not sure if I might have clobbered some subtle aspect of the kludge processing. If anyone wants to try the update, it is available at: http://people.freebsd.org/~gad/ps-kludge.diff [disclaimer: at the moment it's only had about 15 minutes of testing, but I *think* this is about the way I want it to work] Assuming there aren't any major objections to these ideas, I plan to do some more testing on this and commit it next weekend. -- Garance Alistair Drosehn = gad@gilead.netel.rpi.edu Senior Systems Programmer or gad@freebsd.org Rensselaer Polytechnic Institute or drosih@rpi.edu