Tag: 进程

进程会话或组的领导者是否可以离开另一个现有会话或组?

进程会话或组的ID是其会话或组长的pid。 会话或小组是否固定在其领导者身上? 特别: 在会话中,会话负责人是否可以将其留给另一个现有会话,而不是创建新会话并引导它? 如果是,会话是否仍会保持其会话ID不变,即与原始会话负责人的pid相同? 在一个小组中,其小组组长是否可以将其留给另一个现有小组,而不是创建一个新小组并领导它? 如果是,该组是否仍然保持其组ID不变,即与原始组长的pid相同? 如果是,通过什么API函数或系统调用函数? 问题的动机是,setpgid()的第一个参数是会话领导者还是组长? 谢谢。

使用C / C ++在OSX中获取进程创建日期时间

给定进程ID,使用C / C ++查找进程创建日期时间的最佳方法是什么?

将标准输出/输入/错误重定向到文本框中或从文本框重定向

我正在制作一个可用于编辑,编译和运行C程序的VB.NET应用程序。 我使用了Process.StartInfo.RedirectStandardOutput属性。 但我无法将其重定向到文本框,因为它不是字符串类型。 如何将来自cl.exe进程的输出重定向到我的文本框?

子进程是否可以等待它的兄弟进程,并获得其退出状态?

我正试图从一个孩子的过程中获得其“兄弟姐妹”的退出状态, 我试过这样做: int main(void){ int i,j,status,p1; pid_t pids[2],pid; for (i = 0; i < 2; i++){ pids[i]=fork(); /*child 1*/ if(pids[i]==0 && i==0)exit(5); /*child 2*/ else if(pids[i]==0 && i==1){ waitpid(pids[0],&p1,0); exit(WEXITSTATUS(p1)); } } for(j=0;j<2;j++ ){ pid = wait(&status); if(pid==pids[0]){ printf("child process 0 exit with status %d\n",WEXITSTATUS(status)); } else if(pid==pids[1]){ printf("child process 1 exit with status %d\n",WEXITSTATUS(status)); […]

shmget无法正常工作

#include #include #include #include #include #include #include int main() { int i=0; int shmid; int *mem=(int*)malloc(10*sizeof(int)); key_t key; key=1234; pid_t pid; shmid=shmget(1234,sizeof(*mem), IPC_CREAT|0666); if(shmid==-1) { printf(“shmget error\n”); return -1; } mem=shmat(shmid, NULL, 0); if(mem==(int*)-1) { printf(“shmat error\n”); return -1; } for(;i<10;i++) { *(mem+i)=0; } pid=fork(); if(pid<0) { fprintf(stderr,"Fork Failed"); printf("array : "); } else if […]

如何检测进程CPU /内存使用情况并在超过某个值时将其终止?

我正在学习c / c ++,我想知道是否可以通过它的名称来检测进程,并在它的cpu /内存使用率超过某个值时终止它。 我会对实际代码提供任何帮助,或者只是指向正确的方向。

测量进程消耗的CPU时钟

我在C编写了一个程序。它是一个由研究创建的程序。 我想计算程序消耗的精确CPU周期。 确切的周期数。 知道我怎么能找到它?

杀 – 它会立即杀死这个过程吗?

kill究竟做了什么? 我有一个父进程,它一个接一个地创建100个(作为示例)子进程。 在任何孩子的工作结束时,我用kill(pid_of_child, SIGKILL)杀死了孩子,我在ps输出中看不到。 但是如果父进程出现问题并且我从exit(1)进程exit(1) (此时只有1个子进程 – 我可以在ps查看),那时我看到很多 ppid是父进程pid的进程。 怎么可能? kill不完全杀死孩子的过程?

如何从Solaris系统以C / C ++编程方式获取进程信息?

是否有C / C ++库以及有关如何在Solaris上收集系统和进程信息的文档? 虽然我可以解析命令行工具,但我宁愿使用一个使任务更容易的库。 谢谢 编辑:有人建议使用/ proc虚拟目录来收集信息,但是它比解析命令行工具要好得多,因为我需要为每一段数据实现某种自定义解析需要。 我正在寻找一些针对Windows或MacOS的c库,通过基于c的系统API提供这些信息,但我对谷歌没有好运。

问叉()多个进程Unix

所以我有这个函数,分叉N个子进程。 然而,似乎分叉超过指定。 你能告诉我我做错了什么吗? 谢谢 void forkChildren(int nChildren){ int i; for(i = 1; i <= nChildren; i++){ pid = fork(); if(pid == 0) printf("I'm a child: %d PID: %d\n",i, getpid()); } } 主要是我打电话: forkChildren(5); 我期待以下输出: I’m a child: 1 PID: 2990 I’m a child: 2 PID: 2991 I’m a child: 3 PID: 2992 I’m a child: […]