Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
调用系统调用时的进程状态?
当调用系统调用时 进程状态如何 我的意思是 不要假设它是像读或写这样的 I O 系统调用 是进程本身执行内核代码 还是进程被挂起并且有一个 内核线程 执行系统调用处理程序 并且知道哪个进程称为 当前 我不确定是否从执行变为就绪 或从执行变为
Linux
Kernel
systemcalls
使用 -lpthread,g++ 编译器错误,“未定义引用”信号量调用,例如“sem_open”
我是 posix 线程库的新手 我尝试使用以下命令编译教程中的示例代码 g lpthread agreement cpp o agreement 但是我无法编译代码并收到以下错误消息 a3q2 cpp text 0x7e undefined
c
Linux
Multithreading
systemcalls
undefinedreference
如何使用您自己的编程语言来利用 VDSO 对象?
最近的 Linux 内核 至少在 amd64 上 提供了一个名为的神奇对象文件linux vdso so 1它抽象了内核的系统调用接口 允许内核选择最佳的调用约定 如果你用 C 语言编写代码 glibc 会自动使用这个对象 现在 如果我想编
Linux
systemcalls
systemsprogramming
有没有一种方法可以为 sendfile 编写不直接使用系统调用指令的 shellcode?
我正在处理一个类似 ctf 的挑战 它正在过滤我的 shellcode 以确保我没有分别具有 syscall sysenter 和 int 指令 0x0f05 0x0f34 和 0x80cd 的十六进制值编码 基本上我有一个可以打开文件的
x8664
systemcalls
Shellcode
OS X 中的 PHP 系统调用和 $PATH
我试图让 PHP 在 OS X 上进行系统调用 但是 它似乎无法找到系统路径中包含的任何内容 当我跑步时 putenv PATH SERVER PATH usr local bin 就在系统调用之前 它起作用了 这不是一个实用的解决方案 因
php
MacOS
path
systemcalls
“阻塞系统调用”是什么意思?
阻塞系统调用 是什么意思 在我的操作系统课程中 我们正在学习多线程编程 当我在教科书中读到 当一个线程进行阻塞系统调用时 它可以允许另一个线程运行 时 我不确定这是什么意思 阻塞系统调用是必须等待操作完成的调用 read 将是一个很好的例子
c
Multithreading
operatingsystem
systemcalls
在 Linux 内核中使用“sched_setaffinity()”
网上有很多帖子sched setaffinity 但几乎没有人在内核空间中使用它 我使用的是内核 4 14 79 我尝试使用用户空间调用方法sched setaffinity形式为 cpu set t my set CPU ZERO my
Linux
Kernel
systemcalls
在linux中,如何通过GNU ARM汇编进行系统调用
到目前为止 我只知道如何通过 gnu arm 汇编退出程序 exit 0 mov r0 0 return code mov r7 1 supervisor service number svc call supervisor service
Linux
Assembly
arm
GNU
systemcalls
如何从java调用c++功能
我有一个主要是 GUI 的 Java 程序 它显示从 C 命令行工具写入 xml 文件的数据 现在我想在java程序中添加一个按钮来刷新数据 这意味着我的程序必须调用 C 功能 通过系统调用从 java 调用程序的最佳方法是 c 程序将为
Java
c
jar
javanativeinterface
systemcalls
x86_64 上的 OSX gettimeofday 系统调用似乎不起作用
我正在使用 64 位代码通过系统调用指令调用 gettimeofday 我无法返回任何结果 并且通过 Dtrace 得知该调用没有错误 但我从调用返回的寄存器是垃圾 我执行以下操作 lea rdi rel timeval buffer fo
MacOS
x8664
systemcalls
gettimeofday
用户输入和输出在我的汇编代码中不起作用
以下程序编译时没有错误 但运行时不会提示任何输入 也不会打印任何内容 有什么问题 我该如何解决它 我使用这些命令来组装和链接 usr local bin nasm f macho32 1 ld macosx version min 10 9
MacOS
Assembly
x86
nasm
systemcalls
无法在 x86 ubuntu linux 上添加自定义系统调用
我对此很陌生 刚刚了解内核 我正在尝试添加对内核 4 20 4 的自定义调用 这是我所做的步骤 首先我创建文件 kernel printmsg c 包含代码 include
Linux
operatingsystem
Kernel
systemcalls
从文件系统“短读”,什么时候会发生?
显然 一般来说 read 2 系统调用返回的字节数少于要求读取的字节数 然而 相当多的程序假设在处理本地文件时 read 2 返回的值永远不会小于所要求的值 当然 除非文件更短 所以 我的问题是 在 Linux 上 如果从打开的文件读取并且
c
Linux
filesystems
systemcalls
从 Windows 移植到 Linux。汇编命令翻译
我最近开始学习从 Windows 到 Linux 的移植 我一直在将程序从 Intel 语法翻译为 AT T 语法 并将其从 x32 转换为 x64 由于我对汇编程序特别是 AT T 还很陌生 所以我在移植时遇到了一些麻烦 只是提一下 我故
Assembly
systemcalls
gnuassembler
att
创建一个目录并使用“open”返回一个dirfd
我想用 C 创建一个文件树并避免可能的竞争条件 我的意图是使用open 3 创建根目录并open会返回一个目录文件描述符 dirfd 我将给后续openat 3 mkdirat 3 调用创建树 int dirfd open path O D
c
Linux
directory
POSIX
systemcalls
如何在 MacOS 上正确使用“write”系统调用打印到标准输出?
我看过类似的问题 但似乎找不到我的代码有什么问题 我正在尝试在 MacOS 上进行 write 系统调用以将字符串打印到标准输出 我能够做到printf完美 并且熟悉在 x64 汇编中调用其他函数 然而 这是我第一次尝试syscall 我正
MacOS
Assembly
x8664
systemcalls
gnuassembler
修改程序文本时ptrace POKETEXT如何工作?
它是否绕过了跟踪进程的只读页面权限 还是需要临时更改权限才可写 如果是这种情况 权限更改对跟踪的进程可见吗 看着内核源代码 https git kernel org pub scm linux kernel git torvalds lin
c
Linux
x86
systemcalls
ptrace
使用 ptrace 提取系统调用名称和参数
我正在做一项必须执行的任务strace喜欢使用功能ptrace 到目前为止 我已经找到了如何提取系统调用号和返回值 如下所示 In parent process struct user regs struct regs ptrace PTR
c
unix
systemcalls
strace
ptrace
x86_64 汇编 Linux 系统调用混乱
我目前正在 Linux 上学习汇编语言 我一直在使用 Programming From the Ground Up 一书 所有示例都是 32 位的 我的操作系统是 64 位 并且我一直尝试在 64 位中完成所有示例 但是我遇到了麻烦 sec
Linux
Assembly
x8664
systemcalls
gnuassembler
处理 EINTR(使用 goto?)
背景 这是一个后续问题这个线程 https stackoverflow com questions 2957759 using gprof with sockets关于在 C Linux GCC 中处理系统调用的 EINTR 无论我是否打算
c
goto
systemcalls
EINTR
«
1
2
3
4
5
6
7
»