• # réponse de papi

    Posté par . En réponse au message Limité l'utilisation du processeur lors d'une compilation. Évalué à 3.

    bout de code pour la postérité, comme Linus notre dieu à tous, commença par créer le monde avec open ..., et que sous linux on peut s'amuser un peu !

    -----------------
    cat lol.c
    #include <dlfcn.h>

    int open(const char *pathname, int flags)
    {
    void *libc;
    int (*open_call)(const char *,int);
    int ret=-1;
    if(libc=dlopen("/lib/libc.so.6",RTLD_LAZY)) {
    open_call = dlsym(libc,"open");
    usleep(1000000);
    ret=(*open_call)(pathname,flags);
    dlclose(libc);
    }
    return ret;
    }
    -----------------
    gcc -shared -o lol.so lol.c -fPIC -ldl
    export LD_PRELOAD=/home/npa/lol.so
    -----------------
    time tail -1 /etc/passwd
    statd:x:124:65534::/var/lib/nfs:/bin/false

    real 0m1.010s
    user 0m0.010s
    sys 0m0.010s

    Bon après je te laisse comprendre tout seul le code et modifier le 1000000 à souhait !,
    plus simple, envoyer des kill -STOP , kill -CONT sur les process le temps de laisser refroidir !!, jouer avec cpufreq et quelques echos bien placés dans /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq , mais c'est tout de suite moins drole alors ...

    Nicolas