请问bash怎么获取监听命令的输出?

我想把某个监听命令的输出定向到一个txt文件里作为日志文件,但是好像用>重定向会阻塞住这个监听命令,就想linux有没有什么异步手段能获取这个输出

几年过去了我还是没有解决这个问题。甚至我还发现了一个诡异现象:
irkeytab不好用,我又改用mode2,使用mode2 -d /dev/lirc0 时候能接收红外信号,然后我就想着shell做不到,我用python呢,于是用py写了一个subprocess执行mode2 -d /dev/lirc0>out.log,结果刚开始用的时候是不阻塞的,我甚至顺利的拿到了输出数据,做了些操作,然后诡异的是事情来了,这开发板几天这么放着不用他(期间有关机操作),然后有天想继续开发的时候发现出现了跟以前一样的阻塞效果,更神奇的是我给他重刷了系统后还是一样的阻塞。

现在这个和之前提这个问题的时候就是同一块开发板,我现在可能需要找另外一块板子或是其他硬件做一下对照。

各位回答的估计都没有问题,但是可能答案只有我来自己找了,不是一个普通的问题

阅读 2.3k
2 个回答

nohup XXX >> info.log &

新手上路,请多包涵

将下面内容放置到 /etc/profile.d/ 中

export HISTSIZE=3000
export HISTTIMEFORMAT="%F %T "
export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger -p local2.notice "[user=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'
在/etc/rsyslog.conf中添加下面内容 设置local2.notice 输出的位置
local2.*                                                /var/log/cmd-line.log
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题