bash nohup 命令教程

nohup命令用于在注销或退出Linux系统后继续运行程序。教程介绍了如何使用nohup在后台运行命令,包括不带'&'的情况,带'&'的情况,以及同时运行多个命令。通过nohup.out文件查看输出,或通过重定向到指定文件。
摘要由CSDN通过智能技术生成

背景

     nohup的意思是“没有挂断”。 通常,当我们从系统注销时,所有正在运行的程序或进程都会挂起或终止。 如果要在注销或退出Linux操作系统后运行任何程序,则必须使用nohup命令。 有许多程序需要很长时间才能完成。 我们不需要长时间登录来完成命令的任务。 我们可以使用nohup命令在后台运行这些类型的程序并稍后检查输出。 使用nohup命令的一些示例是内存检查,服务器重启,同步等。本教程中显示了如何在Ubuntu上使用nohup命令在后台运行程序。

  • 可以通过下面命令查看nohup的版本
$ nohup   --version

示例1:使用没有'&'的nohup命令

        当你运行没有'&'的nohup命令时,它会在后台运行该特定命令后立即返回到shell命令提示符。 在以下示例中,nohup运行bash命令而不使用“&”在后台执行sleep1.sh文件。 如果nohup命令中没有提到任何重定向文件名,则nohup命令的输出将在nohup.out中写入文件。 对于以下命令,您可以通过检查nohup.out文件的输出来检查sleep1.sh的输出。我们先新建一个sleep.sh作为测试文件:

$ vim sleep1.sh
加入内容
echo 'sleep1'

 

测试nohup:

$ nohup bash sleep1.sh
$ cat nohup.out

结果如下:

您可以按以下方式执行该命令,以将输出重定向到output.txt文件。 检查output.txt的输出。

$ nohup bash sleep1.sh > output.txt
$ cat output.txt

示例2:使用带有'&'的nohup命令

当nohup命令与'&'一起使用时,它在后台运行命令后,不会返回shell命令提示符。可以输入'fg'返回shell命令提示符

$ nohup bash sleep1.sh &
$ fg

示例3:使用nohup命令在后台运行多个命令

    您可以使用nohup命令在后台运行多个命令。 在以下命令中,使用nohup和bash命令在后台执行mkdir和ls命令。 您可以通过检查output.txt文件来获取命令的输出。但是不建议这么做,多个命令可以自己写一个sh脚本来执行

$ nohup bash -c 'mkdir myDir && ls'> output.txt
$ cat output.txt

 

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值