Path: ...!tr3.iad1.usenetexpress.com!feeder.usenetexpress.com!tr2.eu1.usenetexpress.com!feeder1.feed.usenet.farm!feed.usenet.farm!weretis.net!feeder8.news.weretis.net!news.szaf.org!inka.de!mips.inka.de!.POSTED.localhost!not-for-mail From: Christian Weisgerber Newsgroups: fr.comp.os.bsd Subject: Re: Fichier binaire d'un daemon writable ssi le damon est =?UTF-8?Q?stopp=C3=A9?= Date: Wed, 13 Jan 2021 22:59:20 -0000 (UTC) Message-ID: References: <5ffca81a$0$6449$426a74cc@news.free.fr> <5ffcf526$0$6458$426a74cc@news.free.fr> <5ffdeaa9$0$4026$426a74cc@news.free.fr> <5ffe5345$0$16187$426a34cc@news.free.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Wed, 13 Jan 2021 22:59:20 -0000 (UTC) Injection-Info: lorvorc.mips.inka.de; posting-host="localhost:::1"; logging-data="3541"; mail-complaints-to="usenet@mips.inka.de" User-Agent: slrn/1.0.3 (FreeBSD) Bytes: 2546 Lines: 30 On 2021-01-13, Francois Lafont wrote: > 1. sur un Linux (en tout cas sur ma Ubuntu 18.04) access() ne renvoie pas d'erreur > sur un ETXTBSY (même si la page man access(2) de ma Ubuntu ne le mentionne nulle > part et mentionne même clairement le contraire). La page dit: | access() and faccessat() may fail if: .... | ETXTBSY | Write access was requested to an executable which is being | executed. https://man7.org/linux/man-pages/man2/access.2.html C'est « may », donc il est permis, il se peut que ça renvoie une telle erreur. Cette formulation est floue et quasi copiée-collée de POSIX. > J'ai encore une dernière petite interrogation si possible : la vérité ultime > c'est donc que le binaire n'est pas modifiable quand il est en cours d'exécution > (sur un Unix), mais alors pourquoi diable sur Linux les développeurs ont-ils > voulu implémenter une fonction access() qui ne dit pas la vérité (elle dit que > c'est modifiable alors que c'est faux) ? J'avoue que la logique m'échappe un peu. J'imagine qu'ils pensent que la fonctionnalité d'access() est seulement de vérifier les permissions du inode et qu'un ETXTBSY est une situation exceptionnelle au-dehors de ce qu'access() doit faire. -- Christian "naddy" Weisgerber naddy@mips.inka.de