环境:
Ubuntu 20.04 LTS
问题描述:
Ubuntu 服务器上运行相关命令,关闭终端就停止服务,怎么才能启动后在后台运行?
bash docker/entrypoint.sh
解决方案:
bash docker/entrypoint.sh
脚本在后台运行,使用 nohup
命令。
nohup
允许你在后台运行命令,并且即使终端关闭,命令也会继续运行。
使用 nohup
启动脚本
nohup bash docker/entrypoint.sh &
说明
nohup
:表示即使终端关闭,命令也会继续运行。&
:将命令放到后台执行。
查看后台进程
使用以下命令查看后台运行的进程:
jobs
查看日志
nohup
会将输出重定向到 nohup.out
文件中。可以使用以下命令查看日志:
tail -f nohup.out
通过这种方式,您可以将脚本放到后台运行,并随时查看其输出和状态。
关闭
要关闭这些在后台运行的 nohup 任务,使用以下几种方法:
1.使用 kill 命令:
可以通过 jobs 命令查看任务编号(方括号内的数字),然后使用 kill 命令加上任务编号来终止任务。例如,要关闭任务 [1],可以执行:
kill %1
这里的 % 符号后面跟着任务编号,表示指定的后台任务。要关闭所有这三个任务,可以分别执行:
kill %1
kill %2
kill %3
2.直接pkill
pkill -9 -f "bash docker/entrypoint.sh"