loop
nach Beendigung der Schleife?
Begründe Deine Antwort!
char i; unsigned char j = 128; short loop; for (loop = 0, i = j; i > 0; i) loop++;
unsigned int i = 1; printf ((i < 0) ? "negativ" : "positiv")
strcat()
hier zu einem Laufzeitfehler?
char cprog[] = "parser"; strcat (cprog, ".c");
char *getfilename(char *fn) { char *buf; sprintf (buf, "/tmp/%s.c", fn); return buf; }
x = "3"; y = '3'; z = 3;
getchar()
einen Rückgabewert vom Typ
int ?
.
und
..
in einer Directory?
README
?
-r---w---x 1 volli kbs 1 Dec 1 06:01 README
"ls -ld"
auf eine Directory anwendet niemals weniger als zwei links?
namei
,
bei dem ,,gemountete`` Filesysteme beachtet werden.
fstat()
,
stat()
und
lstat()
?
lseek()
Systemcall?
stat()
,
opendir()
und
readir()
.
fork() Systemcall
die ProzeßID des Vaters zurückerhalten würde und der Vater die
ProzeßID 0?
_exit()
Systemcall
ausführt?
errno
den Fehlerwert nach einem gescheiterten Systemcall?
Beschreibe den genauen Ablauf.
cd
in einem UNIXSystem?
Warum ist das Kommando
cd
als builtinKommando in der Shell implementiert?
main (int ac, char **av, char **ev) { execve (av[0], av, ev); }
/bin/ls
ausführt und die Standardausgabe auf das File
/tmp/out
umlenkt.
exit()
und dem
Systemcall _exit()
?
fork()
,
einem
execve()
,
einem _exit()
und einem
dup()
Systemcall
verändert.
Begründe Deine Anwort.
do_exec (char *path, char **av, char **ev, char *output) { if ((fd = creat (output, 0666)) < 0) return (1); switch (fork()) { case 0: if (dup2 (1, fd) < 0) return (1); execve (path, av, ev); case 1: return (1); default: wait (0); } }Was ist an dieser Implementierung nicht korrekt? Was passiert nach einigen Aufrufen?