博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux下重导进程输出
阅读量:6935 次
发布时间:2019-06-27

本文共 696 字,大约阅读时间需要 2 分钟。

我们一般无法直接用眼观察到在后台运行的应用程序的标准输出/错误,除非重启应用程序。

如果不想重启应用程序,则要设法重导后台进程的输出:

linux下要重导进程输出(包括标准输出和标准错误),需要第三方程序strace,

编译好strace(关于strace的编译请见底下说明)并将其安装到/usr/bin后,

我们就可以重导进程的输出了:

执行下列指令可以将进程 id 为 ${PID} 的所有输出到重导到 /tmp/outs

  • strace -e trace=all -s 200 -f -o /tmp/outs -p ${PID}

使用下列指令可以取出标准错误内容(以 java 程序标准错误为例)

  • cat /tmp/outs | grep "write(2," | cut -d ',' -f 2 | grep -v "\\n" | sed -e 's/\"//g' | sed -e 's/\t/ /g'

如何编译strace:

  • 从网上下载strace_xxxx.tar.gz文件
  • 使用 tar zxvf 将strace.tar.gz 解压缩;
  • 切换到解压缩路径,编辑以下脚本,执行编译(以powerpc平台为例)
    CC=ppc_82xx-gcc LD=ppc_82xx-ld RANLIB=ppc_82xx-ranlib
    ./configure --host=powerpc-linux --target=powerpc-linux
    make
  • 编译完成后在相同路径即可见到二进制的strace文件;

转载于:https://blog.51cto.com/oldycat/2309395

你可能感兴趣的文章
3D数学知识简介
查看>>
AMD OpenCL大学课程(3)
查看>>
一种线程安全的单例模式实现
查看>>
memcached-1.4.4在ubuntu下编译的注意事项
查看>>
C# 常用命名空间
查看>>
NameValueCollection详解
查看>>
ERP系统中邮件提醒定时器框架的设计与应用
查看>>
android设置全屏
查看>>
Windows Server 2008 R2安装、使用WPSDK7.1、7.1.1遇到的问题
查看>>
新浪微博Python3客户端接口OAuth2
查看>>
SQL 列出某列有重复的记录
查看>>
POJ 3169 Layout(差分约束+SPFA)
查看>>
MVC3 URL 数据绑定
查看>>
ScrollViewer中元素焦点丢失问题
查看>>
linux上安装配置vsftpd
查看>>
精至手机药典Windows Phone 7版
查看>>
非使用FindControl方法找到深层嵌套的控件 Ver2
查看>>
Android 开发学习笔记(二)—— Activity和Intent
查看>>
BZOJ 1915 [Usaco2010 Open]奶牛的跳格子游戏
查看>>
医生orm之count、where的若干问题
查看>>