Articles of 进程

如何findunix上没有日志文件的死进程的原因?

这是一个面试问题。 开发者开始了一个过程。 但是当一个客户想要使用这个过程时,他发现这个过程并没有运行。 开发人员login,发现过程中死亡。 开发者怎么知道什么是错的? 跟进:应该将日志写入文件的正在运行的进程。 但是文件中没有日志。 开发者怎样才能弄清楚在这个过程中发生了什么? 我想:如果程序可以重新运行,我将使用gdb来跟踪进程。 如果不是,请检查进程(应用程序)中的输出文件。 或者,添加打印到代码。 但是,还有其他的方法可以通过引用操作系统生成的一些信息来实现吗?

从multithreading应用程序生成进程

我有一种情况,我需要从一个非常大的multithreading应用程序中产生一个辅助进程,但是我没有完全的控制权。 现在我正在使用fork() / exec() 。 这在很多情况下都是有效的,但是在某些情况下,在exec()发生之前,孩子会奇怪地崩溃。 我怀疑这是因为fork()multithreading应用程序通常被认为是一个真正的坏主意。 我真的很喜欢以primefaces方式启动一个进程的方式,没有fork()父进程:所有文件描述符closures,环境设置我想要的方式,CWD设置等。这应该避免所有的fork()我的multithreading父应用程序,并处理文件描述符inheritance,等posix_spawn()应该是理想的。 不幸的是,在Linux上, posix_spawn()使用fork()和exec() 。 vfork()被定义为挂起父进程,直到subprocess调用exec() 。 这似乎更像我想要的,但我的理解是, vfork()通常被认为是一个历史遗迹这些天,相当于fork() —这仍然是这种情况? 处理这个问题最糟糕的方式是什么? 注意: 我不能在任何线程启动之前产生我的进程(因为我不能在那个时候运行代码) 由于外部的要求,我不能重新devise我的应用程序不需要帮助程序 在产卵辅助过程之前,我不能暂停所有的线程,因为它们不属于我 这是在Linux上。 涉及Java,但我所有的代码都在C

如何在Linux中每5秒钟查找一个特定进程的内存消耗量

我只想知道如何在特定时间内find特定进程的内存消耗(比如5秒) 我是新来的Linux。 所以,这样做的详细步骤将不胜感激

Linux – 线程和进程调度优先级

如果我们在linux上使用默认调度策略创buildpthreads(pthread_create)或进程(fork),那么调度器会在调度它们时将进程和线程的优先级视为相同的优先级吗? 让我们说,有一个线程的进程P1和P2线程T1 T2的进程 可以说只有一个核心。调度是P1 P1 P1 T2 P1 T1 P1 T2 要么 P1 T1 T2 P1 T1 T2

PID,PPID和TGID的含义

什么是Linux内核首字母缩略词PID,PPID,TGID代表什么? 我在strace-pids上偶然发现了他们。

在linux中用子节点recursion地杀死R进程

我正在寻找一个通用的方法来启动,然后杀死一个R进程,包括可能调用的所有分支或其他进程。 例如,用户像这样运行脚本: library(multicore); for(i in 1:3) parallel(foo <- "bar"); for(i in 1:3) system("sleep 300", wait=FALSE); for(i in 1:3) system("sleep 300&"); q("no") 用户退出R会话后,subprocess仍在运行: jeroen@jeroen-ubuntu:~$ ps -ef | grep R jeroen 4469 1 0 16:38 pts/1 00:00:00 /usr/lib/R/bin/exec/R jeroen 4470 1 0 16:38 pts/1 00:00:00 /usr/lib/R/bin/exec/R jeroen 4471 1 0 16:38 pts/1 00:00:00 /usr/lib/R/bin/exec/R jeroen 4502 4195 […]

如何查找或计算Linux进程的页表大小和其他内核记帐?

我怎样才能找出Linux进程的页表有多大,以及其他任何可变大小的进程记帐?

识别在Linux上打开特定进程的文件

我需要一个脚本来识别在linux上打开特定进程的文件 识别fd: >cd /proc/<PID>/fd; ls |wc –l 我期望看到一个数字列表,这是在这个过程中使用的文件描述符的编号列表。 请告诉我如何查看在这个过程中使用的所有文件。 谢谢。

限制每个进程的物理内存

我正在写一个algorithm来执行一些外部存储器的计算,即你的input数据不适合主内存的地方,你必须考虑I / O的复杂性。 因为对于我的testing,我并不总是希望使用真正的input,我想限制可用于我的进程的内存量。 我发现的是,我可以设置mem内核参数来限制所有进程的物理内存(是正确的?) 有没有办法做到这一点,但每个进程的限制 。 我看到ulimit ,但它只限制每个进程的虚拟内存。 任何想法(也许我甚至可以从我的C ++代码编程)?

进程永久停留在D状态

我在Ubuntu 10.04.3 LTS上遇到一些进程停滞在D状态的问题。 他们自11月5日以来一直处于这种状态(今天是12月6日)。 我知道这些是不间断睡眠状态,通常与从硬件(如硬盘)等硬件数据相关。 这是一个生产服务器,所以重新启动是最后的手段,任何人都能够清楚这些进程可能是什么? 这是来自ps -aux的D状态项目的输出 www-data 22851 0.0 0.0 0 0 ? D Nov05 0:00 [2637.64] www-data 26306 0.0 0.0 4008 12 ? D Nov05 0:00 ./2.6.37 www-data 26373 0.0 0.0 4008 12 ? D Nov05 0:00 ./n2 www-data 26378 0.0 0.0 4008 12 ? D Nov05 0:00 ./n2 这是ps axl | […]