作为守护程序运行时,Shell脚本不起作用

Saq*_*ain 1 linux shell

我有一个简单的脚本(测量CPU开销)

#!/bin/bash

WAIT=2
i=1
while :
do
    # Obtain the cpu usage
    top -n 1 > t.$i

    i=$(($i+1))
    sleep $WAIT

done  
Run Code Online (Sandbox Code Playgroud)

当我运行它时

./Script.sh
Run Code Online (Sandbox Code Playgroud)

它按预期工作.

但是当我把它作为

./Script.sh&
Run Code Online (Sandbox Code Playgroud)

它什么都不做(文件没有创建).我在这里错过了什么?

Geo*_*ams 6

将您调用top的行更改为:

top -b -n 1 > t.$i
Run Code Online (Sandbox Code Playgroud)

这样可以启用批处理模式 - 很好地调用Karoly