脚本 bash 总是 运行

Script bash always running

我想创建一个简单的 bash 脚本,每 5 分钟打印一次文本。 脚本将在启动时启动。

#!/bin/bash
while true ; do
echo "You received a new mail"
sleep 300
done

我试过像这样使用 nohup

nohup script.sh 

但是输出被重定向到 nohup.out,我不想要它并且进程不在后台执行,它一直工作直到我用 ctrl+C

离开

您可以通过 运行ning:

轻松地重定向 stdout/stderr
nohup script.sh > someotherfile.

nohup 的要点是当 shell 关闭时它将继续 运行,但不会立即发送到后台。如果你想要它:

nohup script.sh > someotherfile &

如果您忘记了 &,通常 ctrl-z 后跟 bg 有效。 在任何情况下,如果您关闭 shell/terminal,它将继续 运行ning。这是一个快速教程:http://linux.101hacks.com/unix/nohup-command/.

如果您想查找其他选项,请检查 setsid,以及 crontab。最后一个在何时 运行 和自动启动方面更加灵活。这是第一个很好的参考:

https://askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job#2369