Als «system-calls» getaggte Fragen

Fragen zu den Details, wie ein Programm Systemaufrufe verwendet, um mit der Kernel-API zu interagieren, welche Aufrufe verfügbar sind, wie sie funktionieren usw.


2
Was ist der Unterschied zwischen fork () und vfork ()?
Ich möchte den Unterschied zwischen fork () und vfork () im Detail verstehen. Ich konnte die Manpage nicht vollständig verdauen. Ich möchte auch einen Kommentar meiner Kollegen klarstellen: " In aktuellem Linux gibt es kein vfork (), auch wenn Sie es aufrufen, wird es intern fork () aufrufen ."

2
Entspricht "truss -T" und "truss -U" unter Linux?
Gibt es eine Entsprechung zu den Funktionen -Tund der -UOption des trussSolaris-Dienstprogramms unter Linux? Diese sollen einen Systemaufruf ( -T) oder eine Bibliotheksfunktion ( -U) angeben, die beim Aufrufen durch die verfolgte Anwendung zum Anhalten führen würde. Andernfalls möchte ich, dass jeder Prozess, der von einer verfolgten Anwendung gestartet wird, …


2
Warum gibt es keine Syscalls zum Einfügen von Dateien?
Nach meinem Verständnis gibt es für die Bearbeitung von Dateien unter Linux nur den sys_write-Syscall, der den Dateiinhalt überschreibt (oder ihn erweitert, wenn am Ende). Warum gibt es unter Linux keine Systemaufrufe zum Einfügen oder Löschen von Inhalten in Dateien? Da bei allen aktuellen Dateisystemen die Datei nicht in einem …





1
Warum verbinden rmdir und trennen zwei separate Systemaufrufe?
Hier ist etwas, das mich eine Weile gefragt hat: [15:40:50][/tmp]$ mkdir a [15:40:52][/tmp]$ strace rmdir a execve("/usr/bin/rmdir", ["rmdir", "a"], [/* 78 vars */]) = 0 brk(0) = 0x11bb000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ff3772c3000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 …

2
EINTR: Gibt es eine Begründung dafür?
Smalltalk als Hintergrund EINTRist der Fehler, den sogenannte unterbrechbare Systemaufrufe zurückgeben können. Wenn ein Signal auftritt, während ein Systemaufruf ausgeführt wird, dieses Signal nicht ignoriert wird und ein Signalhandler dafür definiert wurde, der SA_RESTARTnicht gesetzt ist, und dieser Handler dieses Signal verarbeitet, gibt der Systemaufruf den EINTRFehlercode zurück. Als Randnotiz …

4
Wann sollte man fork () und exec () alleine aufrufen?
Ich lerne etwas über die Befehle fork () und exec (). Es scheint, als würden fork () und exec () normalerweise zusammen aufgerufen. (fork () erstellt einen neuen untergeordneten Prozess und exec () ersetzt das aktuelle Prozessabbild durch ein neues.) In welchen Szenarien können Sie jedoch jede Funktion für sich …


2
Welche Datei im Kernel gibt fork (), vfork () ... an, um den Systemaufruf sys_clone () zu verwenden
Wenn ltrace zum Verfolgen der Systemaufrufe verwendet wird, konnte ich sehen, dass fork () sys_clone () anstelle von sys_fork () verwendet. Aber ich konnte die Linux-Quelle nicht finden, wo sie definiert ist. Mein Programm ist #include<stdio.h> main() { int pid,i=0,j=0; pid=fork(); if(pid==0) printf("\nI am child\n"); else printf("\nI am parent\n"); } …


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.