nohup 执行mysql命令_Linux nohup命令:后台命令脱离终端运行

在前面章节中,我们一直在说进程可以放到后台运行,这里的后台,其实指的是当前登陆终端的后台。这种情况下,当我们以远程管理服务器的方式,在远程终端执行后台命令,如果在命令尚未执行完毕时就退出登陆,那么这个后台命令还会继续执行吗?

当然不会,此命令的执行会被中断。这就引出一个问题,如果我们确实需要在远程终端执行某些后台命令,该如何执行呢?有以下 3 种方法:

把需要在后台执行的命令加入 /etc/rc.local 文件,让系统在启动时执行这个后台程序。这种方法的问题是,服务器是不能随便重启的,如果有临时后台任务,就不能执行了。

使用系统定时任务,让系统在指定的时间执行某个后台命令。这样放入后台的命令与终端无关,是不依赖登录终端的。

使用 nohup 命令。

本节重点讲解 nohup 命令的用法。nohup 命令的作用就是让后台工作在离开操作终端时,也能够正确地在后台执行。此命令的基本格式如下:

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

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

例如:

[root@localhost ~]# nohup find / -print > /root/file.log &

[3] 2349

#使用find命令,打印/下的所有文件。放入后台执行

[root@localhost ~]# nohup:忽略输入并把输出追加到"nohup.out"

[root@localhost ~]# nohup:忽略输入并把输出追加到"nohup.out"

#有提示信息

接下来的操作要迅速,否则 find 命令就会执行结束。然后我们可以退出登录,重新登录之后,执行“ps aux”命令,会发现 find 命令还在运行。

如果 find 命令执行太快,我们就可以写一个循环脚本,然后使用 nohup 命令执行。例如:

[root@localhost ~]# vi for.sh

#!/bin/bash

for ((i=0;i<=1000;i=i+1))

#循环1000次

do

echo 11 >> /root/for.log

#在for.log文件中写入11

sleep 10s

#每次循环睡眠10秒

done

[root@localhost ~]# chmod 755 for.sh

[root@localhost ~]# nohup /root/for.sh &

[1] 2478

[root@localhost ~]# nohup:忽略输入并把输出追加到"nohup.out"

#执行脚本

接下来退出登录,重新登录之后,这个脚本仍然可以通过“ps aux”命令看到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux中的nohup命令是用来在后台运行命令,即使关闭终端或退出Shell,命令仍然会继续运行nohup命令的基本语法是: nohup command arguments 或 nohup options。 无论是否将nohup命令的输出重定向到终端,输出都将附加到当前目录的nohup.out文件中。如果当前目录的nohup.out文件不可写,输出将重定向到$HOME/nohup.out文件中。如果没有可用的文件来追加输出,那么指定的命令将无法执行。所以,如果你需要运行一个程序,即使对应的Shell被退出后依然保持运行,可以使用nohup命令运行这个程序。例如,可以使用命令nohup command”来运行一个程序。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Linux nohup命令详解](https://blog.csdn.net/Listen2You/article/details/107370975)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Linuxnohup命令使用介绍](https://blog.csdn.net/y601500359/article/details/113880132)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值