- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我不知道为什么 PAX 总是杀死我的进程。平台是powerpc,操作系统是Linux。从内核日志中,我可以看到如下内容:
PAX: From 147.128.23.67: execution attempt in: , 100a3000-10175000 100a3000 PAX: terminating task: /mnt/ecim/pau6000agent/bin/agent_z(agent_z):1744, uid/euid: 0/0, PC: 100a318c, SP: bbc85aa0 PAX: bytes at PC: 396001fc 4bfffbdc 39600200 4bfffbd4 39600204 gpr_get: partial register set
Google 告诉我尝试使用“paxctl -m ./agent_z”或“paxctl -z ./agent_z”,但它们都没有帮助。实际上,“agent_z”没有任何 PAX 标志。所以我真的很困惑为什么 PAX 总是杀死'agent_z'
file ./agent_z does not have a PT_PAX_FLAGS program header, try
conversion root@QorIQ:/mnt/ecim/pau6000agent/bin> paxctl -v ./agent_z PaX control v0.5 Copyright 2004,2005,2006,2007 PaX Team file ./agent_z does not have a PT_PAX_FLAGS program header, try conversion
这里是我使用的gcc的信息。而且,正如其他人所建议的,我也尝试在编译时添加 -O1/-O2/-O3 标志,但它们都不起作用。
Using built-in specs. Target: powerpc-wrs-linux-gnu Configured with: /scratch/jmyers/wrs/4.4a/src/gcc-4.4-wrs/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=powerpc-wrs-linux-gnu --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-long-double-128 --enable-targets=all --enable-secureplt --with-cpu-32=603 --with-cpu-64=970 --with-gnu-as --with-gnu-ld --with-specs='%{save-temps: -fverbose-asm} %{O2:%{!fno-remove-local-statics: -fremove-local-statics}} %{O*:%{O|O0|O1|O2|Os:;:%{!fno-remove-local-statics: -fremove-local-statics}}}' --enable-languages=c,c++ --enable-shared --disable-lto --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Wind River Linux Sourcery G++ 4.4a-341' --with-bugurl=support@windriver.com --disable-nls --prefix=/opt/windriver/wrlinux/ppc --with-sysroot=/opt/windriver/wrlinux/ppc/powerpc-wrs-linux-gnu/libc --with-build-sysroot=/scratch/jmyers/wrs/4.4a/power/install/powerpc-wrs-linux-gnu/libc --with-gmp=/scratch/jmyers/wrs/4.4a/power/obj/host-libs-4.4a-341-powerpc-wrs-linux-gnu-i686-pc-linux-gnu/usr --with-mpfr=/scratch/jmyers/wrs/4.4a/power/obj/host-libs-4.4a-341-powerpc-wrs-linux-gnu-i686-pc-linux-gnu/usr --with-ppl=/scratch/jmyers/wrs/4.4a/power/obj/host-libs-4.4a-341-powerpc-wrs-linux-gnu-i686-pc-linux-gnu/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-cloog=/scratch/jmyers/wrs/4.4a/power/obj/host-libs-4.4a-341-powerpc-wrs-linux-gnu-i686-pc-linux-gnu/usr --with-libelf=/scratch/jmyers/wrs/4.4a/power/obj/host-libs-4.4a-341-powerpc-wrs-linux-gnu-i686-pc-linux-gnu/usr --disable-libgomp --with-license=/scratch/jmyers/wrs/4.4a/power/obj/host-libs-4.4a-341-powerpc-wrs-linux-gnu-i686-pc-linux-gnu/usr --with-csl-license-version=20110917 --with-csl-license-feature=gcc_Power_Wind_River_Linux --enable-poison-system-directories --with-debug-prefix-map='/scratch/jmyers/wrs/4.4a/power/install=/opt/windriver/wrlinux/ppc /scratch/jmyers/wrs/4.4a/src/gcc-4.4-wrs=/opt/windriver/wrlinux/ppc/powerpc-wrs-linux-gnu/src/gcc /scratch/jmyers/wrs/4.4a/power/obj/gcc-4.4a-341-powerpc-wrs-linux-gnu-i686-pc-linux-gnu=/opt/windriver/wrlinux/ppc/powerpc-wrs-linux-gnu/src/generated/gcc' --with-build-time-tools=/scratch/jmyers/wrs/4.4a/power/install/powerpc-wrs-linux-gnu/bin --with-build-time-tools=/scratch/jmyers/wrs/4.4a/power/install/powerpc-wrs-linux-gnu/bin Thread model: posix gcc version 4.4.1 (Wind River Linux Sourcery G++ 4.4a-341)
提前致谢,非常感谢您的回复。
最好的问候,蔡俊钊
最佳答案
这两个命令可以避免被PaX查杀。
paxctl -c ./agent_z
paxctl -pemrxs ./agent_z
这可能是一种解决方法,我正在我的代码中寻找根本原因。
关于linux - PAX 出于某种原因终止了我的进程。 (PAX 用 SIGKILL 终止我的进程),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20268536/
这个问题在这里已经有了答案: Use of undefined constant SIGTERM - > assumed 'SIGTERM' (1 个回答) 关闭 4 年前。 为什么我在某些 PHP
我有一个守护程序应用程序,它启动几个 3rd 方可执行文件(所有的都是封闭源代码和不可修改的)。 我想让所有子进程在父进程因任何原因退出时自动终止( 包括崩溃 )。 目前,我正在使用 prctl要实现
我在 iPhone 模拟器中构建并运行一个项目。我通过按主页按钮将其发送到后台。然后我双击主页按钮在后台找到我的应用程序并点击它。它变得活跃并且应用程序继续运行。在这里,无论我重复多少次,我都没有问题
我即将完成应用程序的开发。它有一个项目名称,但现在我即将将其发布到应用程序商店,我想更改名称。在项目文件检查器中执行此操作后,它向我展示了可以重命名的内容。我没有取消选择任何东西。重命名应用程序后,我
我是编码新手,我不确定为什么这段代码会出现此错误:运行时错误 (SIGKILL)。谢谢。该代码是朴素的 Dijkstra 算法。此代码在成批的测试用例上运行。因此是最外层的循环。样本输入:33 21
SIGKILL 是否在 unix 线程终止时被调用? 我正在监视一个可能正在使用线程池的应用程序,并使用 printf 注册一个 SIGKILL 处理程序,但没有显示任何内容。我试图了解是否涉及线程池
什么是 SIGKILL 权限策略? 我假设我无法在非 root 用户上运行时杀死内核或其他用户的某些内容,但我还没有找到任何关于此的文档。 最佳答案 来自 http://linux.die.net/m
我在 ios 模拟器中试验我的应用程序时发现,当我从多任务栏中删除它然后重新运行它时,它会产生 SIGKILL 信号。 (我通过停止该应用程序,运行另一个应用程序,然后从多任务栏中删除第一个应用程序并
即使在发出 SIGKILL 之后我也遇到过这种行为使用 kill -9该过程没有终止。这里有问题的命令是 cat # ps -ef | grep 19275 root 19275 1
如果 linux 进程正在等待 I/O(即它处于 SLEEP 状态)并且针对它发出 SIGKILL 信号,则在终止时( STOPPED 状态)是否会通过RUNNING 或READY 状态? 换句话说,
我试图弄清楚应用程序在收到 SIGTERM 时,在发送 SIGKILL 之前有多少时间退出? 我对这些信号知之甚少。我已经在 Stackoverflow 上的建议答案中阅读了其中的一些内容,但我无法瞥
我需要在收到任何终止命令(如 SIGTERM 和 SIGKILL)时写入日志文件。 我可以注册 SIGTERM 但如何处理 SIGKILL 信号? 最佳答案 你不能,至少不能因为进程被杀死。 您可以做
我正在开发一个使用共享内存的程序。所述程序的多个实例将连接到现有程序或重新创建它,并在没有其他进程时将其返回给操作系统,或者只是将其分离并终止。我想到了使用一个简单的计数器来跟踪有多少进程使用它。 我
我想知道是否有任何方法可以从 OOM killer 那里捕捉到 sigkill。我有一个任务队列,并且每隔一段时间就会创建一个被 OOM 杀死的庞大任务。这个: catch Exception as
我在 Windows 上使用 Eclipse,以及用于 Python 开发的 PyDev 插件。当我使用“运行”启动我的应用程序时,它会生成一个新的 Python (CPython) 实例。当我使用“
我写了下面的代码,目的如下:子进程向父进程发送 SIGKILL 信号,然后父进程将使用处理程序来处理它。处理程序只是增加计数器。 int counter = 0;
我有 Xcode 4.2,每当我在模拟器中运行我的应用程序并按下停止调试按钮时,我都会收到一条 sigkill 消息。断点在 main.m 文件的这一行停止: int retVal = UIAppli
当我在模拟器中启动应用程序时,Xcode 就会切换到 main.m,大多数情况下我都会暂时看到此错误,但奇怪的是,错误会暂时消失,然后应用程序启动。 对我来说,Xcode 似乎困惑了一段时间,然后它意
当我在酒店时,他们的 Wifi 显然是通过非常非常慢的互联网连接连接到互联网的。事实上它可能是基于调制解调器的。 结果是我的应用程序的 HTTP GET 请求似乎导致 iOS 向我的应用程序发送 SI
我的机器上没有收到 SIGKILL 错误,在 ideone.com 在线编译器上也没有虽然它在 spoj 机器上给出了一个 SIGKILL,但无法找出原因编辑:该程序需要使用不到 256MB 的数据,
我是一名优秀的程序员,十分优秀!