Articles of 进程

64位的Linux / Ubuntu和OpenSSL的问题(无法读取符号:值不好)

通常我会search很多东西并阅读很多东西来解决我的问题,但是对于这个特殊的问题,这是非常不利的。 我正在运行一个64位的Ubuntu Linux服务器,我安装了LAMP堆栈,并且libcurl没有SSL支持,而OS二进制文件有SSL支持。 PHP不能读取它。 当我search解决scheme,并尝试执行以下操作以在安装PHP时启用SSL支持,我得到了问题.. ./configure …. –with-openssl … …. /usr/bin/ld: ext/standard/.libs/info.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC ext/standard/.libs/info.o: could not read symbols: Bad value collect2: error: ld returned 1 exit status make: *** [libphp5.la] Error 1 所以,它突然停了下来。 我试着做–enable-shared –without-pic的参数无济于事。

有没有办法确定一个Linux的PID是否暂停?

我有一个python脚本使用SIGSTOP和.SIGCONT命令与os.kill来暂停或恢复一个进程。 有没有办法确定相关的PID是否处于暂停或恢复状态?

top获取实时数据的位置

top应用程序从哪里得到它在Linux上的数据? 我会对实时CPU加载/ PID数据感兴趣(我读了/ proc / pid手册页中的所有文档,但是信息不存在)。 该pid是一个JBoss。 我需要轻量级的数据(很容易导出)。

64位系统上的NULL定义问题

我使用gcc 4.1.2在RHEL 5.1 64位平台上运行。 我有一个实用的function: void str_concat(char *buff, int buffSize, …); 其中concat char *在可变参数列表(…)中传递,而最后一个参数应为NULL,以指定参数结束。 在64位系统上,NULL是8个字节。 现在的问题。 我的应用程序包括直接/间接2 stddef.h文件。 首先是/usr/include/linux/stddef.h ,它定义了NULL,如下所示: #undef NULL #if defined(__cplusplus) #define NULL 0 #else #define NULL ((void *)0) #endif 第二个是/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h #if defined (_STDDEF_H) || defined (__need_NULL) #undef NULL /* in case <stdio.h> has defined it. */ #ifdef __GNUG__ #define NULL __null […]

在Ubuntu的单声道和非托pipe代码

我使用在Ubuntu 12 x64上运行的Mono 2.10。 现在我需要知道如何使用非托pipe代码。 [DllImport("libc.so")] public static extern int getpid (); 而且,在下一步我有: getpid(); 我收到这个错误 $ MONO_LOG_LEVEL="debug" MONO_LOG_MASK="dll" mono libc_test.exe Mono: DllImport attempting to load: 'libc.so'. Mono: DllImport loading library: '/home/ibaranov/Documents/MONO/libc_test/libc_test/bin/Debug/libc.so'. Mono: DllImport error loading library '/home/ibaranov/Documents/MONO/libc_test/libc_test/bin/Debug/libc.so: cannot open shared object file: No such file or directory'. Mono: DllImport loading library: '/home/ibaranov/Documents/MONO/libc_test/libc_test/bin/Debug/libc.so'. Mono: DllImport error […]

Linux调度程序如何在多核处理器上调度进程?

多核处理器利用线程级并行性,这意味着多个线程并行运行。 假设一个进程只有一个线程,那么在执行这个进程的时候,其他内核是否保持空闲? 在linux系统中,调度程序把进程和线程都视为一个任务。 它在调度过程中并不区分进程和线程。 那么,这是否意味着不同的内核并行执行不同进程的不同线程? 当上下文切换发生时,这是否只发生在一个核心或cpu的所有核心?

进程间通信通过文件

当我在Linux中某些任意位置回显文件时,例如echo > /tmp/file ,一些正在运行的进程会响应。 这个IPC是通过文件pipe道吗? 这是否意味着一个正在运行的进程总是打开要读取的文件? 但是,如何写文件,因为文件stream被自己的进程locking了?

如何获得进程的祖父母身份证

我怎样才能得到当前进程的父进程ID? 一般给一个进程ID我怎么能得到它的父进程ID? 比如os.getpid()可以用来获取父进程的id和os.getppid(),我如何得到祖父母, 我的目标是Linux(Ubuntu的),所以平台的具体答案是好的。

关于僵尸进程和线程的问题

由于我正在阅读关于进程和线程的一些新主题,所以我在脑海中有这些问题。 如果有人能帮助我,我会很高兴。 1)如果一个线程被标记为不可取消,那么进程在关键部分内部被终止会发生什么? 2)我们有一个操作系统已知的程序主线程吗? 我的意思是操作系统给程序的第一个线程一些有益的权利或什么? 3)当我们杀死一个进程,线程不join,他们成为僵尸?

在Linux下自动调整进程优先级

我试图编写一个程序,根据configuration文件自动设置进程优先级(基本上是path优先级对)。 我认为最好的解决scheme是取代execve()系统调用的内核模块。 太糟糕了,系统调用表不会在内核版本> 2.6.0中导出,所以不可能在没有真正丑陋的黑客的情况下replace系统调用。 我不想做以下事情: 用shell脚本replace二进制文件,启动和修改二进制文件。 – 修补/重新编译我的股票Ubuntu内核 – 像阅读内核可执行内存和猜测系统调用表位置丑陋黑客 – 正在运行的过程 我真的想成为: – 能够根据其可执行path和configuration文件控制任何进程的优先级。 规则适用于任何用户。 有没有人有任何想法如何完成这项任务?