reredirect-动态重定向工具使用说明
reredirect
用于获取现有正在运行的程序的打印信息,并将其输出(标准输出和错误输出)附加到文件或另一个进程。
使用说明
编译完后得到reredirect,或者直接安装到应用环境中(将reredirect放到/bin目录)。
使用方式
reredirect -m file PID
-
-m:将其输出(标准输出和错误输出)附加到文件或另一个进程。
-
file:即附加的文件
-
PID:需填写想要监测的
标准输出与错误输出分别输出
reredirect -o FILE1 -e FILE2 PID
-
-o:将标准输出附加到文件或另一个进程。
-
e:错误输出附加到文件或另一个进程。
取消输出
取消文件的输出
在每次执行reredirect指令后会提示出取消指令,直接复制执行即可取消。
[root@bogon24 bin]# reredirect -m rerefile 23517 # Previous state saved. To restore, use: reredirect -N -O 20 -E 17 23517
其中reredirect -N -O 20 -E 17 23517为取消指令。
通过管道技术通过另一个程序输出
mkfifo:创建管道mkfifo /tmp/fifo
reredirect:重定向至管道处,reredirect 23517 -m /tmp/fifo
tee:显示输出并存入磁盘文件tee log < /tmp/fifo
[root@bogon24 bin]# mkfifo /tmp/fifo [root@bogon24 bin]# reredirect 23517 -m /tmp/fifo # Previous state saved. To restore, use: reredirect -N -O 22 -E 19 23517 [root@bogon24 bin]# tee log < /tmp/fifo topic:hyds/get/request/database/modelschema payload:{
以案例说明使用方式:
将应用database的输出信息打印到某个文件中rerefile中
首先通过ps查看应用的pid。
ps -ax | grep database
将database的输出重定向至rerefile文件
reredirect -m rerefile 23517
取消重定向
reredirect -N -O 20 -E 17 23517
注:取消重定向后并不会输出到原定向输出的文件中。
执行过程
[root@bogon24 bin]# ps -ax | grep database 1733 tty1 Ssl+ 0:02 /usr/bin/X :0 -background none -noreset -audit 4 -verbose -auth /run/gdm/auth-for-gdm-cVgkjm/database -seat seat0 -nolisten tcp vt1 23517 pts/5 Sl+ 0:12 ./database 24914 pts/3 R+ 0:00 grep --color=auto database [root@bogon24 bin]# reredirect -m rerefile 23517 # Previous state saved. To restore, use: reredirect -N -O 20 -E 17 23517 [root@bogon24 bin]# ls a.out a.txt database ds libhiredis.a libhiredis.so libhiredis.so.0.14 mylog.log reredirect rerefile sample start.sh [root@bogon24 bin]# ls -l rerefile -rw-r--r--. 1 root root 11026 2月 18 21:03 rerefile [root@bogon24 bin]#
源码编译说明
编译安装直接执行以下指令即可
make sudo make install