Ubuntu inotify如何监控子进程输出
导读:在Ubuntu中,你可以使用inotifywait工具来监控文件或目录的变化,但是它不能直接监控子进程的输出。然而,你可以结合使用inotifywait和tail -f来实现类似的功能。 首先,确保你已经安装了inotify-tools包,...
在Ubuntu中,你可以使用inotifywait工具来监控文件或目录的变化,但是它不能直接监控子进程的输出。然而,你可以结合使用inotifywait和tail -f来实现类似的功能。
首先,确保你已经安装了inotify-tools包,如果没有,请运行以下命令安装:
sudo apt-get update
sudo apt-get install inotify-tools
接下来,你可以使用以下命令来监控子进程的输出:
# 创建一个临时文件来存储子进程的输出
temp_output_file=$(mktemp)
# 启动子进程,并将其输出重定向到临时文件
your_command >
"$temp_output_file" 2>
&
1 &
# 获取子进程的进程ID
child_pid=$!
# 使用inotifywait监控临时文件的变化
inotifywait -m -e modify "$temp_output_file" |
while read path action file;
do
# 当检测到子进程输出发生变化时,读取并显示输出
cat "$temp_output_file"
done
# 当你想要停止监控时,杀死子进程并删除临时文件
kill "$child_pid"
rm "$temp_output_file"
将your_command替换为你想要执行的命令。这个脚本会持续监控子进程的输出,并在检测到变化时显示出来。当你想要停止监控时,可以手动杀死脚本进程。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu inotify如何监控子进程输出
本文地址: https://pptw.com/jishu/788970.html
