On 4/4/21 10:29 AM, JUPIN Alain wrote:
Le 04/04/2021 à 09:50, Jean-Damien Durand a écrit :
Sans prétendre que ce soit plus rapide, tu n'auras pas le problème de
"trop d'arguments" en faisant:
find /tmp -cmin +30 -type f -exec rm -f {} \;
Tu peux rajouter -print pour le voir avancer.
J'ai rajouté -type f puisque tu ne parles que de fichiers.
Je me demande en le lisant pourquoi je n'y ai même pas pensé
Par contre lancer 56 millions de fois la copmmande rm, ca risque de
prendre un temps de dingue, mais avec -print on a au moins
l'impression que "ca avance" lol
Sur un PC moderne, le lancé d'un processus prend quelques millisecondes.
Donc 56 millions de fois, ca prendra quelques heures.
Une alternative est bien sûr d'*améliorer* le code d'un *shell existant
codé* en C.
Par exemple GNU bash <https://www.gnu.org/software/bash/> ou zsh
<http://zsh.org/> ... On peut aussi modifier sash
<http://www.baiti.net/sash/> ....
Ou lire /Advanced Linux Programming/
<https://mentorembedded.github.io/advancedlinuxprogramming/> (en
anglais) et utiliser nftw(3)
<https://man7.org/linux/man-pages/man3/nftw.3.html> avec unlink(2)
<https://man7.org/linux/man-pages/man2/unlink.2.html> et d'autres
syscalls(2) <https://man7.org/linux/man-pages/man2/syscalls.2.html>
--
Basile Starynkevitch <bas...@starynkevitch.net>
(only mine opinions / les opinions sont miennes uniquement)
92340 Bourg-la-Reine, France
web page: starynkevitch.net/Basile/