On 02/01/2016 01:29 PM, Nicolas CARRIER wrote:
"/proc/1/cmdline is not a standard Unix ..."

I absolutely don't know any other OS, be it Unix or not... But don't
they provide a way to access the command-line used to launch a program ?
In busybox's code at least, I see only one implementation of
read_cmdline, which reads the content of /proc/[PID]/cmdline.
 From that I conclude that only Unices having this file can have a
busybox ps implementation dealing with the command-line.

What's more, I don't think that erasing it's command-line is a "nice"
behavior for a program.
What if I want to debug how init was launched ? The way it behaves now
makes it impossible to know if a runlevel has been passed, how it was
passed, or even if we are launching the right init binary.
On some platforms I work on, there are 2 different init binaries, it
would be nice if performing a simple ps could assure me the right init
binary is used.

Hi,
is renaming them to init1 and init2 an option?

Ciao,
Tito

To conclude, I don't think that "allow[ing] init to take arguments" is
only useful for "passing of information in the init arguments via
/proc/1/cmdline". It is also a way to preserve informations passed by
init's father, whose motivations we can't foresee.

2016-02-01 11:55 GMT+01:00 Laurent Bercot <ska-dietl...@skarnet.org
<mailto:ska-dietl...@skarnet.org>>:

    On 01/02/2016 08:12, dietmar.schind...@manroland-web.com
    <mailto:dietmar.schind...@manroland-web.com> wrote:

        Anyone doing engineering work should come up with a better reason
        than something like "that's always been done that way".


      Oh, definitely. But I'm not the one engineering something here,
    I'm the bad guy saying I don't like the suggested change.

      History and tradition *are* valid objections to change, because
    breaking
    compatibility (if only compatibility of visual output) has a cost.
    They're not powerful objections: if a historical design is bad, and
    the new design brings obvious benefits, then it's entirely worth
    deviating
    from tradition. But everything else being equal, if the new design isn't
    strictly more powerful than the old one, then tradition may be worth
    keeping.

      In the present case, the choice is between "wipe init arguments"
    (historical) and "allow init to take arguments" (suggested change).
       Advantages of the historical behaviour: clean ps output
       Advantages of the suggested change: passing of information in the
    init arguments via /proc/1/cmdline

      Given that /proc/1/cmdline is not a standard Unix way of passing
    information, and that the OP's program would thus *only* work with
    the new-and-modified busybox init under Linux, making this change
    nothing more than a hack;
      Given that Unix already provides plenty of ways to pass information
    from a process to its scions, and that the command line is only such
    a way for programs specifically designed to perform chain loading,
    which init is not;
      Given that I have suggested an *easy*, safe, portable and perfectly
    Unix-ish way of accomplishing what the OP wants without having to patch
    anything;
      Therefore, in this precise case, I don't think the change is worth it.

      Seriously. Accusing *me* of following historical behaviours for the
    sake of it. :D

    --
      Laurent

    _______________________________________________
    busybox mailing list
    busybox@busybox.net <mailto:busybox@busybox.net>
    http://lists.busybox.net/mailman/listinfo/busybox




_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox

_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to