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掉对应的进程号
相关推荐
程序员初一12 小时前
Linux 远程桌面有四种做法
linux·ssh
程序开发阿元12 小时前
1C1G 能跑什么:把留常驻服务和不留摆进一张内存表
linux·ssh
qq_371802112 天前
Ubuntu Linux中安装WorkBuddy
linux·运维·服务器·ubuntu
modelmd2 天前
离线安装与使用 vscode Remote SSH插件
ide·vscode·ssh
且从容.3 天前
Ubuntu安装flume
linux·ubuntu·flume
承渊政道3 天前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
且从容.3 天前
ubuntu安装flink
linux·ubuntu·flink
Linux-lucky3 天前
45-Linux学习之旅之防火墙与WEB加固
linux·前端·网络·学习·ubuntu
禁默3 天前
启元 Q1 二次开发实践:Ubuntu 部署与仿真验证,从 PrimeConsole 到 ROS 2 Humble + RViz
linux·运维·ubuntu
skywalk81633 天前
把 去也网站 从 Ubuntu 搬到 FreeBSD:一次 Service Jail + nginx 的部署实录
linux·运维·nginx·ubuntu·freebsd