在一次稳定性压测时,需要不断循环运行unixbench,简单的命令就是:
while true;do ./unixbench.sh;done
由于远程执行需要防止网络断开影响,所以想使用nohup
放到后台执行,但是,直接使用
nohup while true;do ./unixbench.sh;done &
则会出现语法错误。
然而,我又不想为这么简单的一条命令编辑一个shell脚本。
解决的方法时使用sh -c
:
nohup sh -c 'while true;do ./unixbench.sh;done' &
原因是nohup
希望后面跟随的是一条语句命令,而不是loop循环结构,所以需要使用sh -c