Bash 简单进程重生守护进程

Bash 简单进程重生守护进程

这是一个名为simpled.sh

#!/bin/bash                                                                     

# if top is terminated i want it re-spawn
while :; do
    top & tpid=$!
    wait $tpid
done  &

# i want $$ to keep running after session is closed
disown -h

当 simpled.sh 运行并重新打开其终端时,我看到它的进程仍然存在SIGHUP

logan@logan-VirtualBox-mint:~$ ps -ef | grep [s]imple
logan      25223       1  8 19:20 ?        00:00:01 /bin/bash ./simpled.sh

但我得到的输出是top: failed tty get一遍又一遍。

top只是我选择的一个程序,看看是否重生作品。

您能否帮助我修复代码,以便$$在会话关闭后保持运行(如果我的代码不好),并top在终止时重新生成?您可以建议一个不同的程序来测试是否top更合适。

相关内容