• [^] # Re: popen?

    Posté par . En réponse au journal Problème de fopen..... Évalué à 2.

    sleep est implémenté sans consommer de CPU.

    [gc@meuh /tmp] echo "main() { sleep(2); }" > t.c
    [gc@meuh /tmp] gcc -static[1] t.c
    [gc@meuh /tmp] strace ./a.out
    execve("./a.out", ["./a.out"], [/* 59 vars */]) = 0
    uname({sys="Linux", node="meuh", ...}) = 0
    brk(0) = 0x80aa000
    brk(0x80cb000) = 0x80cb000
    open("/dev/urandom", O_RDONLY) = 3
    read(3, "216円R5334円$n262円343円324円345円r177円302円224円254円373円!242円"..., 32) = 32
    close(3) = 0
    rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
    rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
    rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
    nanosleep({2, 0}, {2, 0}) = 0
    exit_group(0) = ?

    Il bloque deux secondes dans l'appel système nanosleep, qui ne consomme bien sûr aucun CPU.

    [1] -static afin que strace génère moins de bruit dû à ld et la recherche des shlibs