如何让shell脚本在后台一直自动跑起来
时间: 2024-10-19 09:06:32 浏览: 69
为了让Shell脚本在后台持续运行并自动执行,你可以使用一些Linux系统的命令行工具。这里有几个常见的方法:
1. **nohup (No Hang Up)**:
使用 `nohup` 可以让你的脚本在终端关闭后继续运行。在命令行里输入:
```
nohup your_script.sh &
```
其中 `your_script.sh` 替换为你的脚本文件名。这将启动脚本,并将标准输出和错误重定向到一个nohup.out文件。
2. **cron定时任务**:
如果你需要定期执行脚本,可以设置一个cron job。打开 crontab 文件(通常通过 `crontab -e`),然后添加一行类似这样的内容:
```
* * * * * /usr/bin/path/to/your_script.sh
```
这意味着脚本每分钟都会执行一次。你也可以调整时间表达式以适应你的需求。
3. **screen/tmux**:
如果你想在一个持久的会话中运行脚本,可以使用screen或tmux创建一个新的会话窗口。首先安装它们(如 apt-get install screen 或 brew install tmux),然后运行:
```
screen -dmS mysession your_script.sh
```
`-d` 后台运行,`-m` 进入新会话,`-S` 设定会话名字。
4. **systemd service**:
对于更长久的服务,可以在系统层面设置systemd服务。编辑 `/etc/systemd/system/my_service.service` 文件,配置好路径、环境变量等,然后用 `sudo systemctl start my_service.service` 启动。
阅读全文