Liste des Groupes | Revenir à cu programmer |
Rainer Weikusat <rweikusat@talktalk.net> writes:Janis Papanagnou <janis_papanagnou+ng@hotmail.com> writes:>When I recently inspected an 'strace' log and saw the huge amount>
of system-calls done for a simple standard command (like 'rm') -
it's more than a dozen! and most lead just to ENOENT - I wondered
about the default PATH definition which is for my system
/usr/lib/lightdm/lightdm
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
(here I'm omitting my own additions, '~/bin' and '.', and I separated
them, one on each line for a better visualization of the "problem" or,
maybe better, for the "questions".)
>
The above PATH components are for a terminal running under some
window manager, a plain console window will not show the 'lightdm'
entry (but I rarely work on plain consoles).
>
This raises a few questions, and someone may shed some light on the
rationale for above default settings... (and how to "fix" it best)
Why do you want to change that? At worst, this will make seven execve to
execute binary. Usually, it will rather be 4. That's not going to take a
noticeable amount of time.
>
As far as I could determine, some sort of path searching has existed
since the 6th edition of UNIX (., /bin and /usr/bin hardcoded in the
shell) and in its present form, it has existed since the 7th edition of
UNIX. Which means PATH searching was used on PDP-11 16-bit minicomputers
in the 1970s. It didn't cause performance problems back
then and will thus certainly don't cause any today.
There are cases where it _does_ cause performance degradation, if one or
more of the PATH elements refer to NFS filesystems, for example.
Les messages affichés proviennent d'usenet.