Deutsch   English   Français   Italiano  
<5ffcf526$0$6458$426a74cc@news.free.fr>

View for Bookmarking (what is this?)
Look up another Usenet article

X-Received: by 2002:adf:d201:: with SMTP id j1mr1574661wrh.212.1610413350275;
        Mon, 11 Jan 2021 17:02:30 -0800 (PST)
Path: ...!news-out.google.com!nntp.google.com!proxad.net!feeder1-2.proxad.net!212.27.60.64.MISMATCH!cleanfeed3-b.proxad.net!nnrp4-2.free.fr!not-for-mail
Subject: =?UTF-8?Q?Re=3a_Fichier_binaire_d=27un_daemon_writable_ssi_le_damon?=
 =?UTF-8?Q?_est_stopp=c3=a9?=
Newsgroups: fr.comp.os.bsd
References: <5ffca81a$0$6449$426a74cc@news.free.fr>
 <slrnrvpiav.ofa.naddy@lorvorc.mips.inka.de>
From: Francois Lafont <francois.lafont@nospam.invalid>
Date: Tue, 12 Jan 2021 02:02:30 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <slrnrvpiav.ofa.naddy@lorvorc.mips.inka.de>
Lines: 53
Message-ID: <5ffcf526$0$6458$426a74cc@news.free.fr>
Organization: Guest of ProXad - France
NNTP-Posting-Date: 12 Jan 2021 02:02:30 CET
NNTP-Posting-Host: 86.247.215.236
X-Trace: 1610413350 news-2.free.fr 6458 86.247.215.236:57040
X-Complaints-To: abuse@proxad.net
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: fr
Content-Transfer-Encoding: 8bit
Bytes: 3119

Bonsoir,

On 1/11/21 10:55 PM, Christian Weisgerber wrote:

> La commande test(1), alias « [ », invoque l'appel système access(2),
> qui retourne l'erreur ETXTBSY si le fichier exécutable est en état
> d'utilisation.
> 
> C'est à cause de la mémoire virtuelle paginée. Seulement les morceaux
> nécessaires d'un fichier exécutable sont transferés en mémoire vive
> lorsque c'est exigé (« on-demand paging »). Évidemment, ça finirait
> mal si on surécrivait le fichier et après chargeait un autre morceau.
> 
> C'est comme ça depuis l'introduction de la mémoire virtuelle paginée
> au monde Unix, il y a environ une quarantaine d'années.


Merci beaucoup pour ta réponse Christian. Et ben... j'ai appris quelque
chose.
  Ok, manifestement ce n'est pas récent mais pour moi qui vient du monde
Linux, c'est la première fois que je rencontre ça. Par exemple sur une
Ubuntu 18.04, un noyau Linux 4.15 donc, je n'ai pas le même comportement.
Sur cette Ubuntu, j'ai un daemon Apache2 qui tourne via le binaire
/usr/sbin/apache2. Comme tu peux voir ci-dessous, je n'ai pas le même
comportement qu'avec FreeBSD :

-------------------------------------------------------------
~# whoami
root

~# b=/usr/sbin/apache2

~# namei -mox "$b"
f: /usr/sbin/apache2
  Drwxr-xr-x root root /
  drwxr-xr-x root root usr
  drwxr-xr-x root root sbin
  -rwxr-xr-x root root apache2

~# echo "import os; x = os.access('$b', os.W_OK); print(x)" | python
True

~# [ -w "$b" ] && echo WRITABLE
WRITABLE
-------------------------------------------------------------

Du coup, le comportement que j'ai décrit dans mon premier message n'est-il
pas spécifique à (Free)BSD ? Ou alors, inversement, le comportement ci-dessus
n'est-il pas spécifique à Linux ? Pourquoi les deux OS se comportent-ils
différemment sur ce point ?

-- 
François Lafont