From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from minnie.tuhs.org (minnie.tuhs.org [45.79.103.53]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 19c802e6 for ; Wed, 26 Jun 2019 01:04:28 +0000 (UTC) Received: by minnie.tuhs.org (Postfix, from userid 112) id 03E109BDD7; Wed, 26 Jun 2019 11:04:27 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id A87179BD16; Wed, 26 Jun 2019 11:04:02 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="J5WrnNXP"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id EF9979BD16; Wed, 26 Jun 2019 11:04:00 +1000 (AEST) Received: from mail-ot1-f65.google.com (mail-ot1-f65.google.com [209.85.210.65]) by minnie.tuhs.org (Postfix) with ESMTPS id 6CEF39BD15 for ; Wed, 26 Jun 2019 11:04:00 +1000 (AEST) Received: by mail-ot1-f65.google.com with SMTP id n5so837224otk.1 for ; Tue, 25 Jun 2019 18:04:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=deOuMHinTfJSp7JfPl+wfh+Jj9t/J21AQ8BTYGiBgZ8=; b=J5WrnNXP/BWYgma8znX/8Ugs64eQivwzXjhirl1REwLtPbCPs0zfGhKpXqaPTjPKwv /faUm1ZkhKA3GTurbkinefgLqsNmAQHg+H+msS2J4jxPj150dpD4Lu7FDV4X2dy8Z5gq RyDvJLJXJvWygmA/5+S8s+UPVuUm39NBMjJZeRKc04isEcUrJ9lIZBZZGMiwV5HWkD13 MKFY5mfmA1jHLlkicWAmTR3Ulo+HjZyjOhx43L59obanqhzduoYq4wo/ksy5F3ogbarn c43muIotLXsJaSBChzPwh51OTth2OgU5PektREcPvCKqoJM4H+XzedhcKyh+XclsBTxw m2SQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=deOuMHinTfJSp7JfPl+wfh+Jj9t/J21AQ8BTYGiBgZ8=; b=V/eSWdSFQJjg2vmsRtcCXwJ1lu/lB/m+GgsK0gWyjm7iBGAirAPXLuxfbavYdIkqn5 lbfZGxhoIla3y5oT5FUAqM3resvjuPMUYt6GvR8vQ2Q0Pk5rjqi4fvqPQnTVE0WEvlxX EgryDNLG1LDNrON18v7DwnplS6kbqGi8MYvvf64jtK1A1yTed+PW/Dr7Jvl4i6ex+HdX PMDlWZeJxkR3svehYWgEsKFmjAjgm2JsBp1HKmXol9LQbI4tqD0zq3rqY4WDceD980UG +4JKaTfU3u3BQBLFep0vAG19nu0+l1R2ZB3K0HwrJsn/xob5QiXcM36gCfG3EBlJ3jcw 1FgQ== X-Gm-Message-State: APjAAAV56y803etsyk0gP4C/ll97hpl99NDv9pTN2joKc0A4XC66e9f3 3Fqy8B1+Qlsz6i2NBDjZZcb3QjzUARXLB6UlsFs= X-Google-Smtp-Source: APXvYqxKxCvYMIo6CcL3pVeUmEzYP6xyLHNpCmVIF5QDIGUoSi4+ZzCtAN+etxM/e+VQvP7kz4EiON5phY2Lq5qbErE= X-Received: by 2002:a9d:27e8:: with SMTP id c95mr1063228otb.101.1561511039631; Tue, 25 Jun 2019 18:03:59 -0700 (PDT) MIME-Version: 1.0 References: <1561491205.19116.for-standards-violators@oclsc.org> <20190626004603.GG925@mcvoy.com> In-Reply-To: <20190626004603.GG925@mcvoy.com> From: ron minnich Date: Tue, 25 Jun 2019 18:03:47 -0700 Message-ID: To: Larry McVoy Content-Type: text/plain; charset="UTF-8" Subject: Re: [TUHS] 4.1c bsd ptrace man entry ("ptrace is unique and arcane") X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: The Eunuchs Hysterical Society Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" On Tue, Jun 25, 2019 at 5:46 PM Larry McVoy wrote: > > I'm curious what Rob and others think of the Linux /proc. It's string > based and it seems like it is more like /whatever_you_might_want. it's very handy but quite difficult to work with programatically. The output is convenient for humans to parse, not very nice for programs to parse. /proc on linux has no real standard way of outputting things. You get tables, tuples, and lists and some stuff I can't classify (/proc/execdomains, /proc/devices); and, in some cases, some files give you more than one type of thing. Units are not clear for many tables. /proc on linux has far more than just process information, including stuff that has nothing to do with processes (51 things on my current linux, e.g. /proc/mounts). Things are in many cases not self-describing, though lots of /proc have this issue. I do recall (possibly wrongly) at some point in the 2000s there was an effort to stop putting stuff in /proc, but rather in /sys, but that seems to have not worked out. /proc is just too convenient a place, and by convention, lots of stuff lands there. While I was at LANL we did experiment with having /proc come out as s-expressions, which were nicely self describing, composable, easily parsed and operated on, and almost universally disliked b/c humans don't read s-expressions that easily. So that ended. We've been reimplementing Unix commands in Go for about 8 years now and dealing with all the variance in /proc on linux was a headache. You pretty much need a different function for every file in /proc. And all that said, it's handy, so hard to complain about too much.