Priorität heruntersetzen
Gibt es die Möglichkeit, für einen Abschnitt eines Perlprogrammes
die Priorität herabzusetzen?
Unter Bash kann ich zwar mit nice ein ganzes Script herunterstufen, aber
geht das auch innerhalb eines Scriptes?
mfg
Matthias Taube
Re: Prioritätheruntersetzen
Matthias Taube wrote:
> Gibt es die Möglichkeit, für einen Abschnitt eines Perlprogrammes
> die Priorität herabzusetzen?
>
> Unter Bash kann ich zwar mit nice ein ganzes Script herunterstufen, aber
> geht das auch innerhalb eines Scriptes?
Mit dem Modul POSIX geht das. POSIX::nice() ist das, was du suchst. Die
Beschreibung findest du unter perldoc POSIX und man 2 nice.
Gruss
Roman°
--
Ärger in den NGs? Frust im Usenet?
IRC-Freenode: #usenet-friends hilft weiter.
Besuch mich auf http://albasani.net/cgiirc/irc.cgi
Re: Priorität heruntersetzen
Roman Racine schrieb:
> Mit dem Modul POSIX geht das. POSIX::nice() ist das, was du suchst. Die
> Beschreibung findest du unter perldoc POSIX und man 2 nice.
Danke, das habe ich gesucht.
Funktioniert eigentlich
POSIX::nice(10);
.... Perl-Code ...
POSIX::nice(-10);
trotz der Aussage: "Normal user processes can only be more polite." in
der Doku?
mfg
Matthias Taube
Re: Prioritätheruntersetzen
Matthias Taube <no_html.max50kb [at] nurfuerspam.de> wrote:
> Funktioniert eigentlich
>
> POSIX::nice(10);
>
> ... Perl-Code ...
>
> POSIX::nice(-10);
>
> trotz der Aussage: "Normal user processes can only be more polite."
> in der Doku?
Nein. Warum hast du das nicht einfach ausprobiert?
Paul
Re: Prioritätheruntersetzen
Roman Racine <roman.racine [at] gmx.de> wrote:
> POSIX::nice() ist das, was du suchst.
Alternativ die Perl-Funktion setpriority (`perldoc -f setpriority`,
`man 2 setpriority`).
Paul
Re: �
Paul Hink schrieb:
> Nein. Warum hast du das nicht einfach ausprobiert?
Weil es nicht so einfach ist die effektive Priorität des eigenen Prozess
herauszufinden.
Wobei mir gerade als Möglichkeit "system ("ps alx") einfällt.
mfg
Matthias Taube
Re: ?
Matthias Taube <no_html.max50kb [at] nurfuerspam.de> wrote:
> Paul Hink schrieb:
>
>> Nein. Warum hast du das nicht einfach ausprobiert?
>
> Weil es nicht so einfach ist die effektive Priorität des eigenen
> Prozess herauszufinden.
>
> Wobei mir gerade als Möglichkeit "system ("ps alx") einfällt.
Alternativ eins davon:
| system(nice);
| print getpriority(PRIO_PROCESS, 0) . "\n";
Oder man prüft direkt, ob POSIX::nice einen Fehler zurückgemeldet hat
(das ist ohnehin empfehlenswert):
| $ perl -e 'use POSIX qw(nice); nice(10) || die "+10: $!"; nice(-10) || die "-10: $!";'
| -10: Permission denied at -e line 1.
| $
Paul