Als «syscalls» getaggte Fragen

3
Rufen Sie einen Linux-Systemaufruf aus einer Skriptsprache auf
Ich möchte einen Linux-Systemaufruf (oder zumindest den libc-Wrapper) direkt aus einer Skriptsprache aufrufen. Es ist mir egal, welche Skriptsprache ich verwende - es ist nur wichtig, dass sie nicht kompiliert wird (der Grund dafür ist, dass ich keinen Compiler im Abhängigkeitspfad haben möchte, aber das ist weder hier noch da). …

5
Wo finden Sie die Syscall-Tabelle für Linux?
Ich sehe viele Leute, die online referenzieren arch/x86/entry/syscalls/syscall_64.tbl Für die Syscall-Tabelle funktioniert das einwandfrei. Aber viele andere beziehen sich /include/uapi/asm-generic/unistd.h Dies ist häufig im Header-Paket enthalten. Wie kommt es, syscall_64.tblShows, 0 common read sys_read Die richtige Antwort und unistd.hzeigt, #define __NR_io_setup 0 __SC_COMP(__NR_io_setup, sys_io_setup, compat_sys_io_setup) Und dann zeigt es sich …
13 syscalls 


2
Warum gibt es keinen offensichtlichen Klon oder keine Gabel in einem einfachen Bash-Befehl und wie wird das gemacht?
Betrachten Sie Folgendes (mit shSein /bin/dash): $ strace -e trace=process sh -c 'grep "^Pid:" /proc/self/status /proc/$$/status' execve("/bin/sh", ["sh", "-c", "grep \"^Pid:\" /proc/self/status /"...], [/* 47 vars */]) = 0 arch_prctl(ARCH_SET_FS, 0x7fcc8b661540) = 0 clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fcc8b661810) = 24865 wait4(-1, /proc/self/status:Pid: 24865 /proc/24864/status:Pid: 24864 [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) …
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.