使用nohup启动服务
在使用云服务时,运行程序时可能会遇到因为网络波动等原因造成本地与服务器断连,从而导致正在运行的程序被意外中断。针对这种问题可以使用
nohup命令进行避免。
1、nohup 命令的用法解释
Linux 系统中的 nohup 命令用于让一个进程在退出之后依然运行,并将输出保存到指定的文件中。它通常用于后台运行和长时间任务处理。
2、应用场景
(1) 长时间任务: 在计算重要数据或执行转换等任务时,确保任务不会因为终端关闭而中断。
(2) 后台服务: 启动服务程序保持运行,例如 Web 服务器。
(3) 实验和调试: 在调试测试过程中,线下格式实验不影响环境。
(4)终端容量不足: 在系统目录不能充分分配前,沿用 mv 文件路径结合传入
3、nohup 命令基础
命令格式:
``bash`
nohup <命令> [参数] &
* nohup 表示不接收 SIGHUP (挂断)信号,保证进程在退出终端后依然运行。&
* 让进程在后台运行。
* 输出默认保存在“nohup.out”文件中,如有需要,可以通过重定向实现。
---
4、nohup 命令的用法
(1)基础用法
在后台运行一个命令:
`bash`
nohup python script.py &
* 将使用python运行 script.py 文件,并保持进程在终端断连后依然运行。nohup.out
* 默认输出保存在 文件中。
(2) 重定向输出
指定输出文件:
`bash`
nohup python script.py > output.log 2>&1 &
* > output.log 指定将标准输出与错误输出保存在 output.log 中。2>&1
* 将错误输出重定向到标准输出。
(3) 带参数的命令
含有参数的命令:
`bash`
nohup java -jar app.jar --config config.yml &
* 这个命令运行 Java 应用,并使用指定的配置文件。
(4) 查看运行进程
① 通过 lsof命令查看运行进程:
``
lsof -i:<端口号>
可以查询具体端口是否已经被占用,比如 8080

② 通过 ps 命令查看运行进程:
`bash`
ps aux | grep script.py
* ps aux 列出所有运行的进程。grep script.py
* 过滤出和 script.py 相关的进程。

(5) 停止进程
通过 kill 命令停止运行进程:
`bash`
kill -9 <PID>
* <PID> 是进程的识别号,可通过 ps 或 lsof`查看。