Articles of 进程

从处理器的angular度来看进程调度

我知道调度是由内核完成的。 让我们假设Linux中的进程(P1)正在处理器上执行。 由于当前进程并不知道时间片的内容,内核当前没有在处理器上执行,内核如何安排下一个进程执行? 是否有某种中断告诉处理器切换到执行内核或任何其他机制的目的?

在Linux内核模块中监听新进程

是否有可能得到通知(通过callback或类似的)当一个新的进程执行,当一个是closures的,当状态改变(即停止,分页等)? 在user-land中,在/ proc上设置一个目录监听器是很容易的。

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的),所以平台的具体答案是好的。