PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Perl-> pause



C_h_r_i_s
12-11-2002, 23:45
hiho zusammen

ich hab ein problem in meinem perl script.

ich müsste zwischen 2 Befehlen einige zeit eine pause machen, so 2 bis 5 sec.

immo mach ich des üver eine leere for schleife. des is aber der schlechteste weg, weil die cpu voll ausgelastet wird.

gibts es eine "resourcen sparendere" methode ?

scho mal danke für eure hilfe.

mfg
Chris

fork
13-11-2002, 00:19
sleep

C_h_r_i_s
14-11-2002, 07:24
thx a lot,
da sis das, was ich gesucht habe :)

und gleich noch a frage:

gibts a funktion oder so, mit der ich die akt. CPU auslastung auslesen/berechnen kann ?


mfg
Chris

fork
14-11-2002, 17:01
kA, schau mal im CPAN nach, gibt's vielleicht ein Modul für

C_h_r_i_s
15-11-2002, 07:23
hiho.
also ich da mal geguggt, und auch was gefunden.

aber frage:

ich hab jetzt das modul, CPU.pm
da kopier ich in "/usr/lib/perl5/5.6.1/Sys"

auf cpan steh zum aufrufen:
---------------------------
use Sys::CPU;

$number_of_cpus = Sys::CPU::cpu_count();
printf("I have %d CPU's\n",$number_of_cpus);
print " Speed : ",Sys::CPU::cpu_clock(),"\n";
print " Type : ",Sys::CPU::cpu_type(),"\n";
-----------------------------

dann bekomm ich aber als fehler :
--------------------------------------
Can't locate loadable object for module Sys::CPU in @INC (@INC contains: /usr/lib/perl5/5.6.1/i586-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i586-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl .) at ./la.pl line 3
Compilation failed in require at ./la.pl line 3.
_________________________

das heist ? :))

mfg

fork
15-11-2002, 15:56
Nein, du hast nicht alle auf der Welt vorhandenen Perl-Module auf deinem Rechner. Das benötigte musst Du erst installieren, z. B. vom CPAN. Am einfachsten so:
perl -MCPAN -e "install 'Sys::CPU'"

Gruß
Tobias

Sion
16-11-2002, 20:23
Original geschrieben von C_h_r_i_s
gibts a funktion oder so, mit der ich die akt. CPU auslastung auslesen/berechnen kann ?


Wenn dir die Belastung der letzten Minute reicht, dann hol' ihn dir doch aus dem uptime-output raus.