Articles of 进程

我可以删除 <defunct>进程

我做了一个PHP脚本,它读取一些数据,并用pctnl_fork开始一个新的进程来处理数据。 当subprocess完成时,他们停留在进程中。 ps aux给我看像一个进程列表 demo 32229 0.0 0.0 0 0 pts/0 Z 12:23 0:00 [php] <defunct> demo 32251 0.0 0.0 0 0 pts/0 Z 11:50 0:00 [php] <defunct> demo 32284 0.0 0.0 0 0 pts/0 Z 11:50 0:00 [php] <defunct> demo 32298 0.0 0.0 0 0 pts/0 Z 12:56 0:00 [php] <defunct> demo 32303 0.0 […]

如何构buildHadoop 2的本地库

我已经在64位Linux上build立了运行Hadoop 2.1 beta的群集。 但是,每次运行hadoop命令工具时,都会popup警告消息: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable 然后我发现它缺less64位Linux的本地库。 官方的hadoop 2.1 tarball只在/lib/native文件夹中提供32位linux的本地库。 我读了hadoop本地库的官方文档 ,指南说: Once you installed the prerequisite packages use the standard hadoop build.xml file and pass along the compile.native flag (set to true) to build the native hadoop library: $ant -Dcompile.native=true <target> […]

在Go中启动一个进程并将其从中分离

我需要在Go中启动一个新的stream程,并具有以下要求: 即使在Go进程终止之后,启动进程也应该运行 我需要能够设置运行它的Unix用户/组 我需要能够设置inheritance的环境variables 我需要控制std in / out / err 这是一个尝试: var attr = os.ProcAttr { Dir: "/bin", Env: os.Environ(), Files: []*os.File{ os.Stdin, "stdout.log", "stderr.log", }, } process, err := os.StartProcess("sleep", []string{"1"}, &attr) 这工作正常,但从要求有以下缺点: 没有办法设置Unix用户/组 当进程(父)停止时,启动的进程结束 只有在简化事情的情况下才需要在Linux上运行。

获取进程的历史命令

几天前,我在远程服务器上运行了一个应用程序(Matlab)的多个实例(我不是root)。 每个实例将输出redirect到日志文件。 今天我想杀死一个将输出redirect到特定日志文件的进程。 我知道该日志文件的名称,以及该应用程序的所有正在运行的进程的PID。 但是我不知道哪个PID对应于那个日志文件。 我的问题是如何find正在写入该日志文件的PID? 或者至less得到几天前的指挥史; 这样我可以估计出我执行这个命令的时间,然后将它与当前PID的运行时间进行比较,找出最接近的匹配? 注意:我试过命令历史logging,但是它仅显示当天login时的历史logging。我经常做的是login到服务器,启动一个进程,注销并在接下来的几天再次login以查看结果。

如何杀死Linux中的特定进程?

我想杀死一个特定的进程(这是一个名为test.exe的程序)。 要做到这一点,我可以键入: ps aux | grep test.exe 接着: kill -9 process_id_of_test_exe 正如你所看到的,我需要多次input命令(而不是立即)。 问题是如何在一个命令中做到这一点。 采取test.exe的process_id并给予杀。 我觉得在这种情况下我需要写一个脚本。 谢谢。

了解UNIX中的fork系统调用

我正在尝试理解前面给出的一行代码的执行顺序,以及使用fork()系统调用来创build进程。 它是用C语言在UNIX上运行的。 我理解fork()背后的主要概念,但是我想了解从以下代码行派生的过程树创build: x = fork() || !fork(); 任何帮助将不胜感激!

返回后台进程bash的代码

如何获得后台进程的返回值? 如果我这样做,我会得到0 #!/bin/bash SomeCommand& echo $? 输出: #~0 但是,如果我尝试 SomeCommand echo $? 输出: #~255 我读过,等待命令,但如果我这样做 SomeCommand$ wait $! echo $? 如果以前的命令没有完成,我不能运行下一个命令。

如何保持我的C程序从CTRL-C被按下时终止?

AFAIK这与“捕捉SIGINT”有关,但我正在寻找更多的细节。 像许多其他人一样,我通过编写自己的CLI来学习C,可以通过环境variables来启动其他程序。 我的shell可以在前台和后台启动其他进程,但是如果按CTRL-C来终止前台进程,如何保持后台进程运行和我的shell运行? 我的部分代码是: int main() { /*… builtin commands and i/o …*/ isBackground = 0; for (b = 0; b<max; b++) { if ('&'==line[b]) { isBackground = 1; } } if (isBackground == 1) { /*If backgroundprocess*/ printf("Background process\n"); take_return=pipe(fd); /*(two new file descriptors)*/ pid_temp = fork(); } else if (isBackground == 0) { […]

Bash / Python进程匹配

我可以用 pgrep -f 'keyword1 | keyword2' 运行一个pgrep并返回匹配关键字的所有进程。 我如何使用&来做到这一点呢? 我只想包含两个关键字的进程 以下模式失败: pgrep -f 'keyword1 & keyword2' pgrep -f 'keyword2 && keyword2' MAN pgrep(1) OPTIONS -f模式通常只与进程名称匹配。 当-f被设置时,使用完整的命令行。 。 侧面的问题:是否有一个内置的Python库来运行这些命令? 我似乎找不到一个和所有人都build议使用subprocess.Popen(),这是我如何运行'pgrep'命令,但是我更喜欢纯Python解决scheme,如果它是可用的

我怎样才能在笔记本电脑上快速创build一个LAMP开发服务器?

我最近着手开发PHP,并试图find一个舒适的开发环境。 我一直在尝试在Windows 7 x64环境中工作,但是在windows系统上编写PHP时发现了很多问题(更不用说64位Windows系统) 我目前有3个系统可以在家使用。 桌面,上网本和笔记本电脑。 我也有一个共享的托pipe帐户在dreamhost.com 我一直在使用Dreamhost.com上托pipe的远程SQL服务器和SVN服务器来开发主要桌面(win 7×64)和上网本(win 7×64)。 这很好,但是我真的希望让我的应用程序在家中的一台Linux服务器上运行(模拟/干启动,然后将它们推送到我的Dreamhost帐户) 我一年没有用过笔记本电脑,并认为它可以用作模拟生产服务器。 我可以在那里存储我的SQL,SVN和“实时”应用程序,并且可以自由地更改发行版/服务器configuration,这对于我的共享主机帐户来说本质上更加困难。 任何人都可以推荐一个好的Linux发行版,我应该在我的笔记本电脑上安装的东西,使它作为一个开发服务器良好的执行? 我不是一个完整的Linux的noob,但我绝不是先进的。 我的第一个select是Ubuntu,但是我不知道这是否是我想要完成的最好的select。 很感谢任何forms的帮助。