nohup的使用

最近远程连接服务器跑程序的时候,总是碰到本地电脑息屏或者ssh断开导致程序中断,往往一觉醒来不是程序跑完了而是因为各种原因本地中断了。为此想到了nohup这个命令,可以让程序在我本地电脑关机后也可以在远端服务器上面运行。

命令如下:

bash 复制代码
nohup ./restore.sh > output.log 2>&1 &
bash 复制代码
./restore是自己的脚本
> output.log将标准输出重定向到 output.log 文件
2>&1:将标准错误输出合并到标准输出
&:让进程在后台运行,释放当前终端

简单演示一下:

不用nohup命令

当我只要关闭ssh连接的界面或者自己电脑关机后,程序立马会中断。

当我使用nohup命令

程序一直在远端服务器上面运行,和本地终端无关,即使断开ssh连接或者本地关机也没关系。

bash 复制代码
ps aux | grep your_script.sh  # 检查进程是否存在
tail -f output.log            # 实时查看日志输出

当要终止nohup程序运行只需要

bash 复制代码
kill pid  # kill掉对应的进程号
相关推荐
wuicer7 小时前
ubuntu 20.04 安装anaconda以及安装spyder
linux·运维·ubuntu
shuangrenlong10 小时前
ubuntu更新chrome版本
linux·chrome·ubuntu
基于python的毕设14 小时前
C语言栈的实现
linux·c语言·ubuntu
穷人小水滴19 小时前
在 windows 运行 flatpak 应用 (WSL)
linux·windows·ubuntu
mit6.82420 小时前
ubuntu远程桌面很卡怎么解决?
linux·ubuntu·php
morliz子轩1 天前
基于WSL搭建Ubuntu 22.04.x LTS开发环境
linux·运维·ubuntu
路多辛1 天前
Debian新一代的APT软件源配置文件格式DEB822详解
linux·运维·ubuntu·debian
Web极客码2 天前
在Ubuntu 22.04上安装远程桌面服务
linux·运维·ubuntu
妮妮喔妮2 天前
SSH协议的GIT转换
运维·git·ssh
conkl2 天前
Linux 零基础万字入门指南(进阶详解版)
linux·运维·服务器·ssh·文件管理·shell·linux基础