我有一个脚本基本上打印了 top -n1 每秒一个文件
top -n1
以最简单的形式:
while [ 1 ] ; do top -n1 sleep 1 done
如果我像这样运行我的脚本:
./my_script.sh > out.log
它运行良好
如果我在后台运行它:
./my_script.sh > out.log &
然后它给我 Stopped(SIGTTOU) 错误。从其他的q/as我发现top试图从stdin中读取,当在后台运行时没有stdin。
Stopped(SIGTTOU)
如何将top作为后台任务登录到文件中?
你需要把top写到文件中,然后在一个循环中..
#!/bin/bash while [ 1 ] ; do top -b -n 1 > top.txt sleep 1 done
或
#!/bin/bash while : do top -b -n 1 > top.txt sleep 1 done