Zugriff auf einen Systemaufruf direkt aus dem Anwenderprogramm

Auf Ubuntu - Kernel 2.6.32.2

Wie kann ein bereits vorhandener Systemaufruf direkt aus dem Benutzercode ohne Hilfe einer Bibliothek aufgerufen werden? Ich habe in Büchern und im Internet gelesen, um dieses Problem zu lösen. Bitte helfen Sie

Möchten Sie die Prozess-ID des aktuellen Prozesses herausfinden

#include <stdio.h>
#include<linux/unistd.h> // for __NR_getpid
_syscall0(int, getpid)

int main() {
 printf("Current Process ID : %d\n",getpid());
 return 0;
}

Fehler beim Kompilieren:

root@Omkant:~/os# gcc -Wall getpid.c -o getpid
getpid.c:5:16: error: expected declaration specifiers or ‘...’ before ‘getpid’
getpid.c:5:1: warning: data definition has no type or storage class
getpid.c:5:1: warning: type defaults to ‘int’ in declaration of ‘_syscall0’
getpid.c: In function ‘main’:
getpid.c:8:2: warning: implicit declaration of function ‘getpid’

Was ist das Problem im Code? Bitte helfen Sie ...

Antworten auf die Frage(2)

Ihre Antwort auf die Frage