class methods
|
egid
|
Process.egid
-> aFixnum |
|
Liefert die effektive Group-Id für diesen Prozess.
|
egid=
|
Process.egid= aFixnum-> aFixnum |
|
Setzt die effektive Group-Id für diesen Prozess.
|
euid
|
Process.euid
-> aFixnum |
|
Liefert die effektive User-Id für diesen Prozess.
|
euid=
|
Process.euid= aFixnum |
|
Setzt die effektive User-Id für diesen Prozess. Gibt es nicht auf allen Plattformen.
|
exit!
|
Process.exit!( aFixnum=-1 )
|
|
Beendet den Prozess sofort. Es werden keine Exit-Handlers zurückgegeben.
aFixnum wird als Exit-Status an das darunter liegende System zurück
|
fork
|
Process.fork [{ block }]-> aFixnum or nil |
|
Siehe Kernel::fork auf Seite 420.
|
getpgid
|
Process.getpgid( anInteger )
-> anInteger |
|
Liefert die Prozess-Group-Id für den angegebenen Prozess. Gibt es nicht auf allen
Plattformen.
Process.getpgid(Process.ppid()) |
» |
13790 |
|
getpgrp
|
Process.getpgrp
-> anInteger |
|
Liefert die Prozess-Group_Id für diesen Prozess. Gibt es nicht auf allen
Plattformen.
Process.getpgid(0) |
» |
13790 |
Process.getpgrp |
» |
13790 |
|
getpriority
|
Process.getpriority( aKind,
anInteger ) -> aFixnum |
|
Liefert die Priorität der Prozess-Steuerung für den angegebenen Prozess,
die Prozess-Group oder den Benutzer. aKind gibt die Art des zu
untersuchenden Teils an:
entweder Process::PRIO_PGRP ,
Process::PRIO_USER
oder Process::PRIO_PROCESS .
anInteger ist eine Id für den speziellen Prozess, die Prozess-Group oder
den Benutzer (eine Id von 0 bedeutet den aktuellen). Kleine Prioritäten
sind bei der Prozess-Steuerung die besseren. Gibt es nicht auf allen Plattformen.
Process.getpriority(Process::PRIO_USER, 0) |
» |
0 |
Process.getpriority(Process::PRIO_PROCESS, 0) |
» |
19 |
|
gid
|
Process.gid
-> aFixnum |
|
Liefert die Group-Id für diesen Prozess.
|
gid=
|
Process.gid= aFixnum-> aFixnum |
|
Setzt die Group-Id für diesen Prozess.
|
kill
|
Process.kill( aSignal,
[aPid]+ ) -> aFixnum |
|
Sendet das angegebene Signal an die angegebene(n) Prozess-Id(s), oder
an den aktuellen Prozess, falls aPid Null ist.
aSignal kann eine Integer-Signal-Nummer oder ein POSIX-Signal-Name
(mit oder ohne dem SIG -Präfix) sein. Falls aSignal negativ
ist (oder mit einem ``- ''-Zeichen anfängt), wird die Prozess-Group statt
des Prozesses gekillt. Nicht alle Signale gibt es auf allen Plattformen.
trap("SIGHUP") { close_then_exit }
Process.kill("SIGHUP", 0)
|
|
pid
|
Process.pid -> aFixnum |
|
Liefert die Prozess-Id dieses Prozesses. Gibt es nicht auf allen
Plattformen.
|
ppid
|
Process.ppid -> aFixnum |
|
Liefert die Prozess-Id des Elternteils dieses Prozesses. Bei NT immer 0. Gibt es
nicht auf allen Plattformen.
print "I am ", Process.pid, "\n"
Process.fork { print "Dad is ", Process.ppid, "\n" }
|
erzeugt:
|
setpgid
|
Process.setpgid( aPid, anInteger )
-> 0 |
|
Setzt die Prozess-Group-Id von aPid (0 bedeutet dieser Prozess)
auf anInteger. Gibt es nicht auf allen Plattformen.
|
setpgrp
|
Process.setpgrp
-> 0 |
|
Äquivalent zu setpgid(0,0) .
Gibt es nicht auf allen Plattformen.
|
setpriority
|
Process.setpriority( kind,
anInteger, anIntPriority )
-> 0 |
|
Siehe Process#getpriority .
Process.setpriority(Process::PRIO_USER, 0, 19) |
» |
0 |
Process.setpriority(Process::PRIO_PROCESS, 0, 19) |
» |
0 |
Process.getpriority(Process::PRIO_USER, 0) |
» |
19 |
Process.getpriority(Process::PRIO_PROCESS, 0) |
» |
19 |
|
setsid
|
Process.setsid
-> aFixnum |
|
Führt diesen Prozess ein als neue Session und Leiter der Prozess-Group, ohne
kontrollierendes tty. Liefert die Session-Id zurück.
Gibt es nicht auf allen Plattformen.
|
uid
|
Process.uid
-> aFixnum |
|
Liefert die Benutzer-Id dieses Prozesses.
|
uid=
|
Process.uid= anInteger-> aNumeric |
|
Setzt die (Integer-) Benutzer-Id dieses Prozesses.
Gibt es nicht auf allen Plattformen.
|
wait
|
Process.wait
-> aFixnum |
|
Wartet auf das Beenden eines Kind-Prozesses und liefert dessen Prozess-Id.
Löst einen SystemError aus, falls es keine Kind-Porzesse
gibt.
Gibt es nicht auf allen Plattformen.
Process.fork { exit 1; } |
» |
16500 |
Process.wait |
» |
16500 |
|
wait2
|
Process.wait2
-> anArray |
|
Wartet auf das Beenden eines Kind-Prozesses und liefert ein Array mit dessen
Prozess-Id und dessen Exit-Status. Löst einen SystemError
aus, falls es keine Kind-Prozesse gibt.
Process.fork { exit 1 } |
» |
16503 |
Process.wait2 |
» |
[16503, 256] |
|
waitpid
|
Process.waitpid( aPid,
anInteger=0 )
-> aPid |
|
Wartet auf das Beenden des angegebenen Kind-Prozesses. anInteger kann dabei
das logische Oder der Flag-Werte
Process::WNOHANG (nicht blockieren, falls kein Kind-Prozess vorhanden)
oder Process::WUNTRACED (liefere gestoppte Kind-Prozesse zurück,
die nicht gemeldet wurden) sein.
Nicht alle Flags gibt es auf allen Plattformen, aber ein Flag-Wert von Null
funktioniert überall.
include Process |
pid = fork { sleep 3 } |
» |
16506 |
Time.now |
» |
Sun Mar 04 23:31:14 CST 2001 |
waitpid(pid, Process::WNOHANG) |
» |
nil |
Time.now |
» |
Sun Mar 04 23:31:14 CST 2001 |
waitpid(pid, 0) |
» |
16506 |
Time.now |
» |
Sun Mar 04 23:31:17 CST 2001 |
|
waitpid2
|
Process.waitpid2( aPid,
anInteger=0 )
-> anArray |
|
Wartet auf das Beenden des angegebenen Kind-Prozesses, liefert dessen Prozess-Id
und dessen Exit-Status zurück. anInteger kann das logische Oder der
Flag-Werte
Process::WNOHANG (nicht blockieren, falls kein Kind-Prozess vorhanden)
oder Process::WUNTRACED (liefere gestoppte Kind-Prozesse zurück,
die nicht gemeldet wurden) sein.
Nicht alle Flags gibt es auf allen Plattformen, aber ein Flag-Wert von Null
funktioniert überall.
|