Articles of 进程

Metro应用程序是否可以知道其他应用程序?

是否有任何方式列出所有从地铁应用程序运行的城域应用程序? 我正在考虑一个地铁任务pipe理器。

64位类似Scintilla的文本编辑组件?

有一个64位兼容的替代Scintilla那里是开源的?

我怎么知道一个进程正在运行的核心?

我目前正在开发一个关于在linux环境下将进程设置为一个核心的项目。 我使用sched_setaffinity来完成这项工作,我想知道是否有一些由linux提供的函数来获取进程运行的核心。 我使用顶级命令,并发现它可以得到这个信息使用j选项。 所以我相信有一些方法可以在用户空间获得这个信息。

使用fork()在C(不是C ++)中创build3个孩子

嗨,我一直在制定一项计划,让孩子们分叉,然后再从每个孩子那里分娩更多的孩子,但这不是我需要帮助的。 当我运行我的程序(在这里它是一个function,但工作原理是一样的)我应该有一个父母(PPID)产卵3个孩子(PIDS = 1,2,3),但我得到的是相同的PID和PPID 3次(我现在的代码),或者在我得到3个父母之前,每个父母都有一个孩子,PPIDS与PIDS不同,但PPID与以前的孩子PID一样。 在我最近的尝试中,从不在父子(父亲)的信息上方显示孩子(儿子)。 它应该看起来像这样 [dad] hi am I PID 1234 and I come from ####(dont care what this number is) [son] hi i am PID 1111 and I come from PPID 1234 [son] hi i am PID 1112 and I come from PPID 1234 [son] hi i am PID 1113 and I […]

如何杀死一个PID不断变化的进程?

我知道我可以使用这个技巧if (fork()) exit(0); 改变当前进程的PID。 所以,下面的程序会有一个很快改变的pid。 如何杀死这样的进程? 有没有比执行大量killall procname更好的方法,直到能够在fork之前运行kill() ? 我知道这不是一个“进程”,但是每个进程只运行几微秒。 #include <unistd.h> #include <stdlib.h> #include <stdio.h> int main() { pid_t self = getpid(); while (1) { if (fork()) exit(0); if (self + 10000 < getpid()) break; // Just to kill it after some time usleep(1000); } return 0; } 我发现列出进程的唯一方法是执行ps -A | grep procname ps […]

堆栈限制和线程之间的关系

在Linux实现(或任何操作系统)中,ulimit -s <value >与堆栈大小(在线程级别)之间的关系是什么? 是<number of threads > * <each thread stack size >必须小于< stack size assigned by ulimit command >有效alignment? 在下面的程序中 – 每个线程分配char [PTHREAD_STACK_MIN]并创build10个线程。 但是,当ulimit被设置为10 * PTHREAD_STACK_MIN时,它不会因为中止而造成内存溢出。 对于stacksize的一些随机值(远小于10 * PTHREAD_STACK_MIN),它是核心转储。 为什么这样? 我的理解是,stacksize表示由进程的所有线程总和占用的堆栈。 线程函数 #include <cstdio> #include <error.h> #include <unistd.h> #include <sys/select.h> #include <sys/time.h> #include <sys/resource.h> using namespace std; #include <pthread.h> #include <bits/local_lim.h> const unsigned […]

java.io.IOException:错误= 11

我遇到了Java ProcessBuilder一个奇怪的问题。 代码如下所示(略为简化) public class Whatever implements Runnable { public void run(){ //someIdentifier is a randomly generated string String in = someIdentifier + "input.txt"; String out = someIdentifier + "output.txt"; ProcessBuilder builder = new ProcessBuilder("./whateveer.sh", in, out); try { Process process = builder.start(); process.waitFor(); } catch (IOException e) { log.error("Could not launch process. Command: " […]

nohup如何工作?

当一个程序运行nohup时,幕后执行的是什么? 父进程的PID是否被改变? 谢谢。 编辑 :我明白,nohup(和disown)导致SIGHUP不发送到进程,如果父进程收到它。 这是否意味着它相当于处理SIGHUP(实际上忽略它)?

我怎样才能用Perl杀死整个进程树呢?

什么是从Perl脚本中杀死一个进程及其所有subprocess的最好方法? 它应该至less在Linux和Solaris下运行,不需要安装任何额外的软件包。 我的猜测是通过parsing/ proc中的文件或parsingps的输出(在Linux和Solaris之间似乎都不可移植)来获取所有进程及其父母的列表。 然后杀死树中的所有进程(这似乎容易出现竞争状况)。 我可以忍受这种特殊情况下的竞争条件,但是我怎样才能得到进程列表呢?

Linux CFS计划代码在哪里?

我有完整的Linux版本3.13的源代码。 我试图findCFS调度程序的源代码,根据stream行的书籍应该驻留在/kernel/sched.c中的基本调度程序代码和/kernel/sched_fair.c专门为CFS代码。 我只是在我的3.13 linux代码里面的这两个文件做了一个代码全局search,结果没有任何结果。 我还单独search了/linux-3.13/kernel文件夹和/linux-3.13/kernel/sched文件夹。 仍然没有运气。 我想让别人知道CFS在新的linux内核代码域(linux-3.13。*)中的位置。 请原谅,如果我在这里失去了一些东西。 我是一个初学linux内核的人。