centos7 后台执行sh文件
时间: 2023-07-04 19:17:22 浏览: 168
要在 CentOS 7 上后台执行一个 sh 文件,可以使用 nohup 命令。nohup 命令可以让程序在后台运行,并且不会受到终端关闭的影响。具体的步骤如下:
1. 打开终端,切换到 sh 文件所在的目录。
2. 输入以下命令:
```
nohup ./start.sh &
```
其中,start.sh 是你要执行的 sh 文件名。
3. 按下 Enter 键后,程序就会在后台执行。如果想要查看程序的输出,可以使用以下命令:
```
tail -f nohup.out
```
其中,nohup.out 是程序的输出文件名。
这样,就可以在 CentOS 7 上后台执行一个 sh 文件了。
相关问题
centos7 执行.sh文件
在CentOS 7上执行.sh文件,可以使用以下命令:
```
sh /path/to/your/script.sh
```
其中,`/path/to/your/script.sh`是你的shell脚本文件的绝对路径,你可以根据实际情况进行替换。
如果你的shell脚本文件没有执行权限,你需要先通过以下命令给它赋予执行权限:
```
chmod +x /path/to/your/script.sh
```
然后再使用`sh`命令执行该脚本文件。
如果你想在后台执行shell脚本文件,可以使用以下命令:
```
nohup sh /path/to/your/script.sh &
```
这样,shell脚本就会在后台执行,并将输出保存到nohup.out文件中。注意,&符号表示将命令放到后台执行,这样你可以继续使用终端进行其他操作。
centos7后台自动运行脚本
### 配置 CentOS 7 脚本开机启动
为了使脚本能够在 CentOS 7 中实现开机自启或定期执行,可以采用多种方法来完成这一目标。
#### 方法一:通过 `/etc/rc.d/rc.local` 设置开机启动
编辑 `/etc/rc.d/rc.local` 文件,在其中加入要执行的命令。例如:
```bash
nohup /root/myword/f.sh &
```
这行代码的作用是在系统启动时以后台模式运行指定路径下的 Shell 脚本,并忽略挂起信号[^2]。
需要注意的是,某些情况下该文件可能不具备可执行权限,此时应赋予其相应的权限以便正常工作:
```bash
chmod +x /etc/rc.d/rc.local
```
此外,确保此文件中的解释器声明正确无误,通常应该是 `#!/bin/bash` 或者其他合适的 Shell 解释器。
#### 方法二:利用 systemd 创建服务单元文件
创建一个新的 `.service` 文件于 `/etc/systemd/system/` 目录下,比如命名为 `mycustomscript.service`:
```ini
[Unit]
Description=My Custom Script Service
After=network.target
[Service]
ExecStart=/path/to/script.sh
Restart=always
[Install]
WantedBy=multi-user.target
```
上述配置定义了一个名为 My Custom Script 的服务,它将在网络准备就绪后被激活;并且一旦停止就会尝试重新启动。最后一步是启用这个新建立的服务以使其随操作系统一同加载:
```bash
systemctl enable mycustomscript.service
```
这种方法更加灵活且符合现代 Linux 发行版推荐的做法。
#### 定期执行 Shell 脚本的方法
对于希望周期性触发的任务来说,Cron 是一个理想的选择。可以通过编辑用户的 Crontab 来安排特定时间间隔内的作业调度。假设想要每隔一分钟执行一次某个位于根目录下的 f.sh 脚本,则可以在终端里键入以下指令打开当前用户的 Cron 表单并添加相应条目:
```bash
crontab -e
```
接着追加一行如下所示的内容到文档末尾:
```cron
*/1 * * * * /root/myword/f.sh >> /root/myword/output.log 2>&1
```
这里重定向了标准输出和错误流至日志文件中记录每次调用的结果。
阅读全文
相关推荐













