indietro

  • sleep ESPR
  • sleep

    Fa sì che lo script si fermi per ESPR secondi, o per sempre se non viene specificata ESPR. Può essere interrotta se il processo riceve un segnale quale SIGALARM. La funzione restituisce il numero di secondi realmente impiegati nella pausa. Verosimilmente non potete mischiare chiamate a alarm e sleep, poiché sleep è spesso implementata utilizzando alarm.

    Su alcuni sistemi più vecchi, la pausa potrebbe durare un intero secondo meno di quanto richiesto, a seconda della maniera con cui vengono contati i secondi. La maggior parte dei moderni sistemi si ferma per il giusto numero di secondi. Può sembrare che la pausa sia più lunga, poiché in un ambiente multitasking affollato, il vostro processo potrebbe non iniziare subito la pausa.

    Per intervalli di maggior precisione di un secondo, potete usare l'interfaccia syscall del Perl per accedere a setitimer(2), se il vostro sistema la supporta; altrimenti guardate select più in alto. Anche il modulo Time::HiRes (da CPAN, e nella distribuzione standard a partire da Perl 5.8) può esservi di aiuto.

    Consultate anche la funzione pause del modulo POSIX.