我有一些脚本应该已经停止运行,但是永远挂在身边。我是否可以通过某种方式以一种可读的方式弄清楚它们正在向STDOUT和STDERR写入什么内容?
例如,我尝试执行以下操作:
$ tail -f /proc/(pid)/fd/1
但这确实不起作用。无论如何,这是一个远射。
还有其他想法吗?
strace
就其本身而言,它很冗长且难以理解。
注意:我 只 对它们的输出感兴趣,而对其他任何东西都不感兴趣。我有能力自己弄清其他事情;这个问题只集中在获得访问stdout和运行过程中的标准错误
后, 启动它。
我不确定它是否对您有用,但是我读了一段时间,描述了使用gdb的方法
问题内容: 我想运行一个系统进程,拦截输出,并在Python脚本中逐行实时地对其进行修改。 我的最佳尝试是等待过程完成后再打印,它是: 该脚本仅每半秒打印一行: 是否有一个简单的解决方案可以实时迭代输出?我必须使用线程吗? 从前,我用Perl编写脚本,这真是小菜一碟: 问题答案: 遍历文件不可避免地将大量内容缓冲-这是所有Python 2. *实现的一个已知问题。它可以按照您在Python 3.1
问题内容: 我想在另一个goroutine中运行一些缓慢的例程,这样做是否安全: 这样做有什么陷阱吗? 问题答案: 服务每个http请求都在其自己的goroutine中运行。您可以从处理程序中启动新的goroutine,它们将并发运行,与执行处理程序的goroutine独立。 要注意的一些事情: 新的goroutine与处理程序goroutine独立运行。这意味着它可能在处理程序goroutine
我的情况如下:我有一个loggingapect,其中有几个切入点与我的主应用程序中的特定方法执行相匹配。相应的建议机构基本上看起来都很相似,导致大量代码重复: 不过也有一些变化。有时是切入点 经常发生的事情是我手动告诉记录器 在打印第一条消息后,即在调用procedue()之前,增加缩进级别,并且 在打印最终消息之前(如果打印了任何消息),即直接在返回后降低缩进级别 我的想法是,我想用一个切入点编
问题内容: 我对此有一些奇怪的问题。 我们正在使用Xvfb虚拟桌面管理器,并希望在继续之前确保其正在运行。使用纯外壳,我可以轻松地做到这一点: 这正是我所需要的,只有一行包含有关Xvfb proc的信息。接下来,我要将其合并到我的Java程序中并解析结果并存储正在运行的Xvfb进程的PID。所以我正在尝试: 奇怪的是,如果我使用“ ps -ef”,则在运行我的应用程序时,会得到大量的进程转储到控制
问题内容: 我想要一个小的“应用程序加载器”程序,该程序可以通过TCP从外部服务器接收其他二进制应用程序文件并运行它们。 我可以通过将传输的文件保存到硬盘上并使用system()调用来运行它来完成此操作。但是,我想知道是否有可能从内存中启动新应用程序而不接触硬盘驱动器。 加载新应用程序后,加载程序应用程序的状态无关紧要。我更喜欢使用C,但是也欢迎使用C ++解决方案。我还要坚持使用标准Linux
问题内容: 我在写一些代码,但一直崩溃。后来,在挖掘转储之后,我意识到我正在超出最大堆限制(如果我在malloc上添加了检查,生活会更轻松)。尽管我已解决问题,但是有什么办法可以增加堆大小? 问题答案: 堆通常与体系结构上可寻址的虚拟内存一样大。 您应该使用命令检查系统的当前限制,并找到这行最大值,在我的OpenSuse 11.4 x86_64上,此行具有约3.5 GiB的ram,表示每个进程大约