Articles of 进程

在pipe道中获取命令输出,C为Linux

我需要运行一个Linux CLI命令,并从C中获取stdout输出 我可以使用pipe()来创build一个pipe道,然后fork / exec,在调用exec()之前将subprocess的stdout描述符redirect到pipe道中,并从父进程中的pipe道中读取数据。 另外我需要等孩子。 是否有一个简单的调用来做fork + redirect + exec + wait,就像system()做fork + exec + wait一样,只有system()不做redirect。 有popen(),它做叉+redirect+执行,但不做等待,所以我不能得到退出状态。

将32位库链接到64位程序

我有一个32位.so二进制只有库,我必须生成使用它的64位程序。 有没有一种方法来包装或转换它,所以它可以用于64位程序?

内存限制在64位Linux操作系统上运行的32位进程

一个32位进程在64位Linux上有多less虚拟内存(也就是说,在开始获取NULL指针之前,我可以分配多less内存并使用malloc() )? 我在我的32位Linux上试过了,达到了大约3GB的限制。 我能在64位Linux上获得更多的信息吗?

用python杀死进程

我需要做一个脚本,从用户获得以下内容: 1)进程名称(在Linux上)。 2)这个进程写入的日志文件名。 它需要杀死进程并确认进程已closures。 将日志文件名称更改为具有时间和date的新文件名称。 然后再次运行该进程,确认它已经启动,以便继续写入日志文件。 先谢谢您的帮助。

如何find所有的subprocess?

在我正在开发的基于Linux的项目中,我需要能够find我所有的subprocess。 每次开始logging都是不可行的 – 事后要find它们。 这需要是纯粹的C,我想这样做没有读/ proc。 有谁知道如何做到这一点?

linux:以编程方式获取另一个进程的父进程?

我试过谷歌,但发现getppid()获取当前进程的父pid。 我需要getppid(some_other_pid)类的东西,有这样的事情吗? 基本上需要一些进程的PID,并返回父进程的PID。

在Linux上更快地分配大型进程?

现代Linux上从一个大型stream程中获得与fork – execve组合相同效果的最快,最好的方法是什么? 我的问题是进程的分叉大到500MByte,而且一个简单的基准testing只能从进程中获得大约50个分支/秒(对于最小尺寸的进程来说比较是1600叉),这对于预期的应用来说太慢了。 一些谷歌search变成vfork被发明作为这个问题的解决scheme…但也警告不要使用它 。 现代Linux似乎已经获得了相关的clone和posix_spawn调用; 这些可能有帮助吗? 什么是vfork的现代替代品? 我在i7上使用了64位Debian Lenny(如果posix_spawn有帮助,该项目可以移动到Squeeze)。

如何杀死超过特定年龄的Linux进程?

我在某些服务器上有一些类似僵尸的进程出现问题,需要立刻杀掉。 我怎样才能最好地识别跑了一个多小时左右?

我可以在Windows上加载一个32位DLL到64位进程吗?

我最近升级了ac#windows服务作为64位.net进程运行。 通常情况下,这将是微不足道的,但系统使用C ++编写的32位DLL。 这不是一个select将此DLL转换为64位,所以我将DLL包装在一个单独的32位.net进程,并通过远程处理暴露.net接口。 这是一个相当可靠的解决scheme,但是我宁愿将系统作为单个进程运行。 有什么办法可以加载我的32位DLL到64位进程,并直接访问它(也许通过某种thunking层)?

查找应用程序使用的tcp端口

好吧,所以我将我公司的flexlm供应商守护程序扩展到客户端应用程序。 我需要在客户端连接之前能够找出lmgrd正在监听的端口。 API文档似乎相当贫瘠,我相信他们的大部分代码都是以编译的forms存在的,所以我不能只看他们的源代码。 是否有可能调用Windows API的强大function来查找特定进程正在使用的端口? 如果从sysinternals进程资源pipe理器可以做到这一点,我应该能够吗? 有没有人有这样的示例代码? 它需要支持Windows XP及更高版本,因为我们的许多客户尚未升级。 编辑:我应该注意到,事实certificate,FLEX支持从许可证文件拉端口。 我没有在我面前的代码,但要知道,这不是找出您的供应商守护程序/ lmgrd运行的端口的最佳方式。