在终端关闭的情况下运行shell脚本,并随时停止脚本,可以使用以下方法:
- 使用nohup命令:nohup命令可以在终端关闭后继续运行脚本,并将输出重定向到nohup.out文件中。可以通过以下命令运行脚本:
- 使用nohup命令:nohup命令可以在终端关闭后继续运行脚本,并将输出重定向到nohup.out文件中。可以通过以下命令运行脚本:
- 这将在后台运行脚本,并将输出保存到nohup.out文件中。可以使用以下命令停止脚本:
- 这将在后台运行脚本,并将输出保存到nohup.out文件中。可以使用以下命令停止脚本:
- 找到脚本的进程ID(PID),然后使用kill命令停止脚本:
- 找到脚本的进程ID(PID),然后使用kill命令停止脚本:
- 使用screen命令:screen命令可以创建一个虚拟终端,可以在终端关闭后继续运行脚本。可以通过以下命令创建一个新的screen会话:
- 使用screen命令:screen命令可以创建一个虚拟终端,可以在终端关闭后继续运行脚本。可以通过以下命令创建一个新的screen会话:
- 然后在新的screen会话中运行脚本:
- 然后在新的screen会话中运行脚本:
- 可以使用以下命令分离screen会话(在终端关闭后继续运行):
- 可以使用以下命令分离screen会话(在终端关闭后继续运行):
- 当需要停止脚本时,可以重新连接到screen会话,并使用Ctrl + C停止脚本。
- 使用系统服务:将脚本配置为系统服务可以在终端关闭后持续运行,并可以方便地启动和停止脚本。具体步骤如下(以Ubuntu为例):
- 创建一个脚本文件,例如
script.sh
,并将脚本内容放入其中。 - 创建一个新的服务配置文件,例如
script.service
,并将以下内容添加到文件中: - 创建一个新的服务配置文件,例如
script.service
,并将以下内容添加到文件中: - 将
/path/to/script.sh
替换为实际的脚本路径。 - 将服务配置文件复制到
/etc/systemd/system/
目录下: - 将服务配置文件复制到
/etc/systemd/system/
目录下: - 启用服务:
- 启用服务:
- 启动服务:
- 启动服务:
- 停止服务:
- 停止服务:
以上是在终端关闭的情况下运行shell脚本,并随时停止脚本的几种常见方法。这些方法可以根据实际需求选择适合的方式来运行和管理脚本。