解决Linux关闭终端(SSH)后程序自动停止的问题

当需要在Linux服务器上运行一个进程,即使关闭SSH连接也不会终止,可以使用nohup命令。nohup让进程在后台继续运行,不受用户退出影响。例如,`nohupcommand&`会将命令的输出追加到nohup.out文件,或者可以重定向到指定文件。这适用于长时间运行的服务或脚本。
摘要由CSDN通过智能技术生成

#解决Linux关闭终端(SSH)后程序自动停止的问题

如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。

Linux 服务器, SSH,程序进程/运行服务

nohup命令,Linux 终端命令窗口

nohup命令及其输出

nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。

该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。

nohup表示不挂起的意思。

一般都是在linux下nohup格式:

nohup commandnohup命令

nohup命令说明:

[root@localhost ~]# nohup [命令] &

注意,这里的‘&’表示此命令会在终端后台工作;反之,如果没有‘&’,则表示此命令会在终端前台工作。

[root@localhost ~]# nohup find / -print > /root/file.log & [root@localhost ~]# nohup find / -print>/root/file. log &
[3] 2349 [3]二三四九
#使用find命令,打印/下的所有文件。放入后台执行
[root@localhost ~]# nohup:忽略输入并把输出追加到"nohup.out"
[root@localhost ~]# nohup:忽略输入并把输出追加到"nohup.out"
#有提示信息
接下来的操作要迅速,否则 find 命令就会执行结束。然后我们可以退出登录,重新登录之后,执行“ps aux”命令,会发现 find 命令还在运行。

用途:不挂断地运行命令。

语法:nohup Command [ Arg … ] [ & ] 语法:nohup Command [ Arg … ] [ & ]

描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

举例1:

比如你有一个shell脚本,test.sh;

nohup test.sh &nohuptest.sh&

在shell中回车后提示:

[~]$ appending output to nohup.out[~]$将输出附加到nohup.out

原程序的的标准输出被自动改向到当前目录下的nohup.out文件
4

举例2:

如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:

nohup command > output 2>&1 &nohup命令>输出2>&1 &

在上面的例子中,输出被重定向到output文件中。

主要是中间的 2>&1的意思:

这个意思是把标准错误(2)重定向到标准输出中(1),而标准输出又导入文件output里面,所以结果是标准错误和标准输出都导入文件output里面了。

至于为什么需要将标准错误重定向到标准输出的原因,主要因为标准错误没有缓冲区,而stdout有。

类似运行脚本

./文件名

nohup ./wechatbot-amd64-linux &nohup ./wechatbot-amd64-linux&

liunx 程序运行

nohup test.sh &nohuptest.sh&
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值